docs: document asymmetric error handling in initTownAgentBeads (gt-m39yd)
Explain why agent bead creation failures are hard errors while role bead creation failures are soft errors (log and continue). Agent beads are identity beads that form the CV/reputation ledger foundation. Role beads are documentation templates not required for agent operation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -331,6 +331,16 @@ func ensureRepoFingerprint(beadsPath string) error {
|
|||||||
//
|
//
|
||||||
// These beads are stored in town beads (~/gt/.beads/) and are shared across all rigs.
|
// These beads are stored in town beads (~/gt/.beads/) and are shared across all rigs.
|
||||||
// Rig-level agent beads (witness, refinery) are created by gt rig add in rig beads.
|
// Rig-level agent beads (witness, refinery) are created by gt rig add in rig beads.
|
||||||
|
//
|
||||||
|
// ERROR HANDLING ASYMMETRY:
|
||||||
|
// Agent beads (Mayor, Deacon) use hard fail - installation aborts if creation fails.
|
||||||
|
// Role beads use soft fail - logs warning and continues if creation fails.
|
||||||
|
//
|
||||||
|
// Rationale: Agent beads are identity beads that track agent state, hooks, and
|
||||||
|
// form the foundation of the CV/reputation ledger. Without them, agents cannot
|
||||||
|
// be properly tracked or coordinated. Role beads are documentation templates
|
||||||
|
// that define role characteristics but are not required for agent operation -
|
||||||
|
// agents can function without their role bead existing.
|
||||||
func initTownAgentBeads(townPath string) error {
|
func initTownAgentBeads(townPath string) error {
|
||||||
bd := beads.New(townPath)
|
bd := beads.New(townPath)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user