21 Commits
Author SHA1 Message Date
Chris Troutner 0942b2ef40 Block handoffs from a dirty working tree
Unrelated tracked changes could ride along with a handoff. Refuse to send when
git status --porcelain is non-empty, list the offending files, and keep the
draft so it can be fixed and resent. SWARMFORGE_ALLOW_DIRTY=1 overrides.

By specifier.
2026-09-15 18:28:45 -07:00
Chris Troutner a5f8967a71 Add state helper and refresh specifier briefing
Add state.sh to print each role branch HEAD and the main-checkout status.
Update the briefing to use the single tmp/aps checkout, note daemon
self-healing, and point merge verification at verify.sh and the architect's
verification record.

By specifier.
2026-09-15 18:28:19 -07:00
Chris Troutner 752bf2cff6 Guard mutation runs against differential under-selection
The default differential run can select fewer covered sites than exist after a
function is added or removed, forcing a manual --mutate-all rerun. Add
mutate-file.sh (auto-reruns when Selected < Covered) and clean-builds.sh
(removes worker-copy bloat), and document them plus the intrinsic upper-bound
Gherkin survivors in the architect cheat-sheet.

By specifier.
2026-09-15 18:27:58 -07:00
Chris Troutner 0db351aaa7 Add canonical verify runner and verification record
Verification commands were transcribed in several places and the same full
suite was re-run by every role. Add verify.sh/verify.mjs as the single
per-component verification sequence emitting a machine-readable record
(git_sha, per-command exit/duration/summary). The architect records it for
each touched component; the specifier trusts a matching-SHA pass and only
re-runs the merged feature's acceptance test.

By specifier.
2026-09-15 18:24:24 -07:00
Chris Troutner 66a791bd72 Single-source the APS checkout under tmp/aps
There were up to four APS copies (tmp/aps, tmp/aps-spec, tmp/aps-fresh, and a
component-local client copy) and the briefing, wrappers, and runners disagreed
on which to use. Add ensure-aps.sh (ensure/update/reclone) as the one canonical
tmp/aps checkout, point the gherkin-parser wrapper, architect startup, and all
three acceptance runners at it, and update the architect cheat-sheet.

By specifier.
2026-09-15 17:47:33 -07:00
Chris Troutner 053e8e3d33 Self-heal the handoff daemon
Handoffs sit undelivered when handoffd is not running, and recovery was a
manual step. Add ensure_handoff_daemon.sh and call it from swarm_handoff.sh
and ready_for_next.sh so the daemon is restarted whenever it is missing.

By specifier.
2026-09-15 17:40:33 -07:00
Chris Troutner 0bc73ec072 Always notify the specifier at the end of the pipeline
The architect's terminal handoff went only to coder and refactorer, so the
specifier never received a merge notification and a human had to bridge the
gap. Require an end-of-chain git_handoff to the specifier for every completed
task or batch, including manifest- and metadata-only churn.

By specifier.
2026-09-15 17:37:48 -07:00
Chris Troutner f44de33362 Using Deepseek v4.1 flash for all bots 2026-09-15 17:22:19 -07:00
Chris Troutner 32d5a283d8 Improvements to engineering.prompt 2026-09-05 12:14:18 -07:00
Chris Troutner 73c937d6b0 Use dry4javascript --help in startup smoke check
By architect.
2026-09-04 09:41:06 -07:00
Chris Troutner fdd13ef734 Review profile-wallet-connect: confirm selector, fix gherkin-parser wrapper
Reviewed the refactorer's profile-wallet-connect work. getViewerAddress is a
clean pure selector (reactive-then-wallet precedence, null-on-absent); the
profile index.js wiring fix is sound and correctly re-loads when the address
becomes available. Fixed swarmforge/scripts/gherkin-parser, which delegated to
a non-existent .swarmforge/tools/aps path, to use the established tmp/aps-spec
checkout. Added the mutation differential-manifest for the new module.
Verification: 243 client unit + 33 property tests pass, lint clean,
mutation 2 killed / 0 survived, DRY no candidates, soft Gherkin mutation
6 intrinsic equivalents.

By architect.
2026-09-03 16:19:00 -07:00
Chris Troutner b2756d2ead Merge specifier profile-wallet-connect briefing
By coder.
2026-09-03 16:03:34 -07:00
Chris Troutner c9e0c294f8 Merge architect notifications refactor
By coder.
2026-09-03 15:54:55 -07:00
Chris Troutner d99eda3db4 Add startup bloat check for mutation build dirs
Record the tmp/acceptance and target/mutation-workers bloat that made
mutate4javascript worker copies many GB and mutation runs appear to hang.
Add a startup check that flags any of these dirs over 100MB so they are
cleaned before a mutation run.

By architect.
2026-09-03 14:23:38 -07:00
Chris Troutner 87ca402cae Review notifications refactor: extract shared getPostOrNull, add adapter unit suite
Extract the post-lookup-with-null helper into a shared module used by both
the notifications and post query adapters, removing duplication. Add a
dedicated NotificationsQuery unit suite (26 tests) and hardening tests that
kill the sort-comparator and followee-guard mutations. Refresh mutation
manifests via the approved tool. Document 5 intrinsic mutation equivalents
and 16 soft-Gherkin equivalents in the review summary.

By architect.
2026-09-03 14:10:54 -07:00
Chris Troutner 8592db3dbc Add gherkin-parser wrapper for APS Babashka task
By coder.
2026-09-03 09:34:51 -07:00
Chris Troutner d8639dc04c Point architect startup at its process notes
By architect.
2026-09-02 12:27:00 -07:00
Chris Troutner fcaebeb6a4 Add consolidated architect startup verification script
By architect.
2026-08-28 10:16:16 -07:00
Chris Troutner e321c7fec7 Revert unrelated specifier model change in swarmforge.conf
The architect review noted this specifier-model switch was left out of the
set-bio merge, but it leaked in with the fast-forward. Restore origin/master
config so the merge stays focused on the set-bio feature.

By specifier.
2026-08-27 08:12:26 -07:00
Chris Troutner 7134979eb8 Reconfigure monorepo for SwarmForge development
- Move specifier-prompt.md to repo root and rewrite it for the monorepo.
- Move specs/feature-backlog.md to root specs/ and update with component scope.
- Add specs/README.md, psf-memo-indexer/specs/README.md, psf-memo-db/specs/README.md.
- Add swarmforge/constitution/articles/monorepo.prompt for shared monorepo rules.
- Update root README.md with repository layout, local dev commands, and SwarmForge info.

By specifier.
2026-08-26 10:23:53 -07:00
Chris Troutner c168c652de Creating mono-repo from psf-memo-client 2026-08-26 09:10:39 -07:00