Commit Graph

572 Commits

Author SHA1 Message Date
Steve Yegge
d7c96ddbfa bd sync: 2025-12-24 00:23:53 2025-12-24 00:24:22 -08:00
Steve Yegge
e7f9dc8576 docs: design Deacon molecule health-scan step (gt-gaxo.5)
ZFC cleanup: health checking belongs in Deacon molecule, not Go code.

Updated health-scan step with:
- Specific commands: gt witness status, gt refinery status
- Signal assessment table for Claude to interpret
- Cycle tracking for persistent unresponsive state
- Decision matrix with suggested (not hardcoded) thresholds
- Restart and escalation workflows

Key ZFC principle: Claude makes the judgment call about what is
stuck or unresponsive - no hardcoded time.Duration in Go.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 00:23:40 -08:00
Steve Yegge
bca357e4eb refactor: remove polecat state derivation from issue status (gt-gaxo.4)
ZFC cleanup: Go should be message transport, not decision-maker.

Before: loadFromBeads used switch on issue.Status to derive polecat
state (open/in_progress -> working, closed -> done).

After: Simple rule - has issue assigned = working, no issue = idle.
We do not interpret what issue.Status means; that is for Claude in
the Deacon molecule.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 00:21:31 -08:00
Steve Yegge
6552b439ba bd sync: 2025-12-24 00:21:19 2025-12-24 00:21:19 -08:00
Steve Yegge
88165429ff bd sync: 2025-12-24 00:17:37 2025-12-24 00:18:02 -08:00
Steve Yegge
b6817899b4 refactor: ZFC cleanup - move Go heuristics to Deacon molecule (gt-gaxo)
Remove Go code that makes workflow decisions. All health checking,
staleness detection, nudging, and escalation belongs in the Deacon
molecule where Claude executes it.

Removed:
- internal/daemon/backoff.go (190 lines) - exponential backoff decisions
- internal/doctor/stale_check.go (284 lines) - staleness detection
- IsFresh/IsStale/IsVeryStale from keepalive.go
- pokeMayor, pokeWitnesses, pokeWitness from daemon.go
- Heartbeat staleness classification from pokeDeacon

Changed:
- Lifecycle parsing now uses structured body (JSON or simple text)
  instead of keyword matching on subject line
- Daemon now only ensures Deacon is running and sends simple heartbeats
- No backoff, no staleness classification, no decision-making

Total: ~800 lines removed from Go code

The Deacon molecule will handle all health checking, nudging, and
escalation. Go is now just a message router.

See gt-gaxo epic for full rationale.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 00:11:15 -08:00
Steve Yegge
0f88c793f8 docs: add witness patrol theory of operation
Documents the Claude-driven execution model:
- Molecules are playbooks, not auto-executing code
- Mail-based coordination between agents
- Nudge escalation matrix for stuck polecats
- State persistence in handoff bead

See gt-poxd for handoff bead implementation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 00:10:32 -08:00
Steve Yegge
c483602231 refactor: remove Go patrol logic from witness manager (gt-kh6q)
Patrol logic is now handled by mol-witness-patrol molecule executed by Claude.
Removed ~985 lines of Go code:
- run(), checkAndProcess(), healthCheck()
- handleStuckPolecat(), getNudgeCount(), recordNudge(), clearNudgeCount()
- processShutdownRequests(), verifyPolecatState()
- autoSpawnForReadyWork(), getActivePolecatCount(), isAlreadySpawned(), spawnPolecat()
- Plus all helper functions

Kept: NewManager(), stateFile(), loadState(), saveState(), Status(), Start(), Stop()

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 23:44:54 -08:00
Steve Yegge
c29396d929 Close stale MRs superseded by ZFC rewrite 2025-12-23 23:31:56 -08:00
Steve Yegge
5212d8ded4 bd sync: 2025-12-23 19:30 (gt-o3is)
Closed gt-o3is - root-caused to beads codebase, not gt issue.
Created beads bug bd-phtv to track actual fix.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 23:27:53 -08:00
Steve Yegge
169f23258b bd sync: 2025-12-23 22:43:46 2025-12-23 22:43:46 -08:00
Steve Yegge
20d85c66b7 bd sync: 2025-12-23 22:32:19 2025-12-23 22:42:24 -08:00
Steve Yegge
ecb1ba6fe3 bd sync: 2025-12-23 22:30:36 2025-12-23 22:42:24 -08:00
Steve Yegge
2b8d246122 bd sync: 2025-12-23 22:28:25 2025-12-23 22:28:25 -08:00
Steve Yegge
18694d7181 bd sync: 2025-12-23 22:22:51 2025-12-23 22:22:51 -08:00
Steve Yegge
1656fb9c11 bd sync: 2025-12-23 22:06:43 2025-12-23 22:06:43 -08:00
Steve Yegge
a99d057331 bd sync: 2025-12-23 21:58:35 2025-12-23 21:58:35 -08:00
Steve Yegge
d34fb6a2c3 bd sync: 2025-12-23 21:57:44 2025-12-23 21:57:59 -08:00
Steve Yegge
528ce0008d bd sync: 2025-12-23 21:57:08 2025-12-23 21:57:59 -08:00
Steve Yegge
c7ee1e2f56 Merge beads-sync into main 2025-12-23 21:57:35 -08:00
Steve Yegge
92a3da90a8 bd sync: 2025-12-23 21:44:16 2025-12-23 21:44:16 -08:00
Steve Yegge
f9585fc3ab bd sync: 2025-12-23 21:44:14 2025-12-23 21:44:14 -08:00
Steve Yegge
e895e51ee4 bd sync: 2025-12-23 21:24:10 2025-12-23 21:25:01 -08:00
Steve Yegge
6a7662ba6b bd sync: 2025-12-23 21:22:08 2025-12-23 21:22:08 -08:00
Steve Yegge
b3d95191dd bd sync: 2025-12-23 21:19:04 2025-12-23 21:19:04 -08:00
Steve Yegge
ce0ce7bc50 bd sync: 2025-12-23 20:33:30 2025-12-23 20:33:30 -08:00
Steve Yegge
eced6494f8 bd sync: 2025-12-23 20:30:06 2025-12-23 20:30:06 -08:00
Steve Yegge
e972d983c1 bd sync: 2025-12-23 20:25:57 2025-12-23 20:25:58 -08:00
Steve Yegge
22c5fb6bdf bd sync: 2025-12-23 20:10:06 2025-12-23 20:10:06 -08:00
Steve Yegge
16f6b4ee67 bd sync: 2025-12-23 20:02:30 2025-12-23 20:02:30 -08:00
Steve Yegge
0835a7066e bd sync: 2025-12-23 19:53:48 2025-12-23 19:53:48 -08:00
Steve Yegge
4fbeccd005 bd sync: 2025-12-23 19:39:11 2025-12-23 19:39:11 -08:00
Steve Yegge
ac4e1a6249 bd sync: 2025-12-23 19:38:04 2025-12-23 19:38:04 -08:00
Steve Yegge
c2d87cb261 bd sync: 2025-12-23 19:37:40 2025-12-23 19:37:40 -08:00
Steve Yegge
a3cb8f33aa bd sync: 2025-12-23 19:28:20 2025-12-23 19:28:20 -08:00
Steve Yegge
3bc676ee2e bd sync: 2025-12-23 19:27:58 2025-12-23 19:27:58 -08:00
Steve Yegge
32048ceaaa bd sync: 2025-12-23 19:27:37 2025-12-23 19:27:37 -08:00
Steve Yegge
837cad67b8 feat: add Towers of Hanoi formula prototype (gt-8tmz)
Demonstrates that molecule algebra solves the "million step workflow"
problem that MAKER addressed with distributed voting.

Key insight: structure is mechanical, only leaf execution needs AI.
- The move sequence is 100% deterministic (2^n - 1 moves)
- Each step is trivial ("move disk 3 from A to C")
- No voting needed - formula generates perfect structure

New beads filed:
- gt-8tmz.26: Direct formula-to-wisp (skip proto for huge ephemeral work)
- gt-8tmz.27: Computed range expansion (for-each over expressions)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 19:27:21 -08:00
Steve Yegge
c13eb39908 bd sync: 2025-12-23 19:27:17 2025-12-23 19:27:17 -08:00
Steve Yegge
6fe32bb5a8 bd sync: 2025-12-23 19:26:56 2025-12-23 19:26:56 -08:00
Steve Yegge
ef6959e4dd bd sync: 2025-12-23 19:19:56 2025-12-23 19:20:09 -08:00
Steve Yegge
733039a6d6 bd sync: 2025-12-23 19:19:11 2025-12-23 19:19:11 -08:00
Steve Yegge
4113b18be5 bd sync: 2025-12-23 19:13:06 2025-12-23 19:13:06 -08:00
Steve Yegge
d07f3be9ca bd sync: 2025-12-23 19:12:35 2025-12-23 19:12:35 -08:00
Steve Yegge
3228a93453 bd sync: 2025-12-23 18:48:25 2025-12-23 18:48:56 -08:00
Steve Yegge
04c6ba048a bd sync: 2025-12-23 18:20:23 2025-12-23 18:48:56 -08:00
Steve Yegge
b9705fc35b bd sync: 2025-12-23 18:04:57 2025-12-23 18:48:56 -08:00
Steve Yegge
0a7630c263 refactor: formulas use YAML instead of JSON (gt-8tmz)
- Convert .formula.json files to .formula.yaml
- Update molecule-algebra.md to specify YAML format
- Update molecular-chemistry.md proto examples
- Add Safety Constraints section: cycle detection, aspect
  self-matching prevention, max expansion depth, graceful degradation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 18:48:43 -08:00
Steve Yegge
74430a1019 refactor: formulas use JSON instead of YAML (gt-8tmz)
JSON for consistency with beads (issues.jsonl, molecules.jsonl).
Agents create/manage formulas; humans use visualizers.

- Simpler parsing (Go built-in JSON)
- No YAML gotchas
- Agents generate JSON flawlessly
2025-12-23 18:23:36 -08:00
Steve Yegge
93d9726bbc docs: add Formula + Cook terminology and example formulas (gt-8tmz)
Updates to molecule-algebra.md:
- Added Formulas and Cooking section
- Four-tier model: Formula → cook → Proto → pour/wisp → Mol/Wisp
- Breaking Bad × Mad Max naming (Let's cook!)
- Updated vision diagram

New example formulas:
- shiny.formula.yaml (Engineer in a Box)
- rule-of-five.formula.yaml (Jeffrey's Rule expansion macro)
- security-audit.formula.yaml (AOP aspect)
- shiny-enterprise.formula.yaml (composed example)
2025-12-23 18:20:39 -08:00