agent-bios 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEPENDENCIES.md +35 -12
- package/README.md +346 -31
- package/claude/CLAUDE.md +2 -2
- package/claude/agents/frontier.md +1 -1
- package/claude/agents/sweep.md +3 -3
- package/claude/agents/workhorse.md +2 -2
- package/claude/guides/claude-prompting.md +72 -39
- package/claude/guides/cli-multi-model-workflow.md +33 -15
- package/claude/guides/gpt-prompting.md +103 -39
- package/claude/guides/review-request.md +27 -0
- package/claude/guides/session-distill-workflow.md +54 -2
- package/claude/guides/slide-writing/RUNBOOK.md +137 -0
- package/claude/guides/slide-writing/scripts/pair.py +979 -0
- package/claude/guides/slide-writing/scripts/render.mjs +82 -0
- package/claude/guides/slide-writing.md +195 -0
- package/claude/guides/svg-visualization-guide.md +9 -0
- package/claude/guides/verification-discipline.md +5 -1
- package/claude/hooks/tooling-gotchas-hook.py +7 -5
- package/codex/AGENTS.md +2 -2
- package/codex/agents/frontier.toml +2 -1
- package/codex/agents/reviewer.toml +1 -1
- package/codex/agents/sweep.toml +3 -3
- package/codex/agents/workhorse.toml +1 -1
- package/codex/config-additions.toml +1 -1
- package/codex/guides/claude-prompting.md +72 -39
- package/codex/guides/cli-multi-model-workflow.md +33 -15
- package/codex/guides/gpt-prompting.md +103 -39
- package/codex/guides/review-request.md +27 -0
- package/codex/guides/session-distill-workflow.md +54 -2
- package/codex/guides/slide-writing/RUNBOOK.md +137 -0
- package/codex/guides/slide-writing/scripts/pair.py +979 -0
- package/codex/guides/slide-writing/scripts/render.mjs +82 -0
- package/codex/guides/slide-writing.md +195 -0
- package/codex/guides/svg-visualization-guide.md +9 -0
- package/codex/guides/verification-discipline.md +5 -1
- package/compose/assemble.py +290 -14
- package/compose/bootstrap/SKILL.md +119 -0
- package/compose/check-domains.py +102 -9
- package/compose/corpus-state.py +4 -0
- package/compose/corpus.py +387 -0
- package/compose/corpus_catalog.py +882 -0
- package/compose/corpus_install.py +1617 -0
- package/compose/corpus_session.py +726 -0
- package/compose/corpus_store.py +1414 -0
- package/compose/corpus_transaction.py +236 -0
- package/compose/corpus_ui.py +644 -0
- package/compose/domains.json +101 -100
- package/install.sh +63 -18
- package/launch/agent-launch.py +1216 -179
- package/launch/agent-launch.toml +12 -16
- package/launch/i18n/en.toml +112 -7
- package/launch/i18n/ja.toml +112 -7
- package/launch/i18n/ko.toml +112 -7
- package/learn/collect-learning.py +46 -19
- package/learn/migrate-learnings.py +10 -1
- package/package.json +11 -3
- package/provenance.json +1 -1
- package/session-cost.py +22 -2
- package/wrappers/codex-helm.sh +3 -3
package/compose/domains.json
CHANGED
|
@@ -10,113 +10,114 @@
|
|
|
10
10
|
"office-work": "Office artifacts: spreadsheet processing"
|
|
11
11
|
},
|
|
12
12
|
"bullets": [
|
|
13
|
-
{"anchor": "Prefer concise Korean responses", "tier": "env-personal", "domains": []},
|
|
14
|
-
{"anchor": "Keep file changes within the requested scope", "tier": "core", "domains": []},
|
|
15
|
-
{"anchor": "First identify the goal, scope, ambiguities", "tier": "core", "domains": []},
|
|
16
|
-
{"anchor": "Resolve ambiguity from context when safe", "tier": "core", "domains": []},
|
|
17
|
-
{"anchor": "For simple requests, choose the most direct", "tier": "core", "domains": []},
|
|
18
|
-
{"anchor": "For non-trivial requests, compare 2-4 methods", "tier": "core", "domains": []},
|
|
19
|
-
{"anchor": "Mark one default method", "tier": "core", "domains": []},
|
|
20
|
-
{"anchor": "Execute the chosen method accurately", "tier": "core", "domains": []},
|
|
21
|
-
{"anchor": "Return to understanding if a discovery breaks", "tier": "core", "domains": []},
|
|
22
|
-
{"anchor": "Reconsider the method if the selected approach", "tier": "core", "domains": []},
|
|
23
|
-
{"anchor": "Log non-blocking discoveries and continue", "tier": "core", "domains": []},
|
|
24
|
-
{"anchor": "If the same loopback happens twice", "tier": "core", "domains": []},
|
|
25
|
-
{"anchor": "Compare the result with the selected", "tier": "core", "domains": []},
|
|
26
|
-
{"anchor": "Ask decision questions in outcome terms", "tier": "core", "domains": []},
|
|
27
|
-
{"anchor": "When the user may not know the domain", "tier": "core", "domains": []},
|
|
28
|
-
{"anchor": "Present 2-4 meaningful options", "tier": "core", "domains": []},
|
|
29
|
-
{"anchor": "For each option, state what changes", "tier": "core", "domains": []},
|
|
30
|
-
{"anchor": "Translate technical terms into plain consequences", "tier": "core", "domains": []},
|
|
31
|
-
{"anchor": "Ask for the user's goal or constraint", "tier": "core", "domains": []},
|
|
32
|
-
{"anchor": "Evaluate user suggestions for goal fit", "tier": "core", "domains": []},
|
|
33
|
-
{"anchor": "Distinguish implementation feasibility from recommendation", "tier": "core", "domains": []},
|
|
34
|
-
{"anchor": "Do not default to a restrictive lens", "tier": "core", "domains": []},
|
|
35
|
-
{"anchor": "Treat user suggestions, inherited premises, prior diagnoses", "tier": "core", "domains": []},
|
|
36
|
-
{"anchor": "For structured-output, runtime-authority, capability-surface", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
37
|
-
{"anchor": "Use instructions to describe intended work", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
38
|
-
{"anchor": "Use the LLM for semantic work", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
39
|
-
{"anchor": "Use the capability surface for structural constraints", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
40
|
-
{"anchor": "Enforce constraints through the capability surface", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
41
|
-
{"anchor": "Use tools/code for deterministic work", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
42
|
-
{"anchor": "When exactness, freshness, scale, repeatability", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
43
|
-
{"anchor": "Let the LLM design merge, projection", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
44
|
-
{"anchor": "For required structured or machine-consumed outputs", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
45
|
-
{"anchor": "Let tools/code own ids, paths, serialization", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
46
|
-
{"anchor": "Keep deterministic values out of LLM authority", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
47
|
-
{"anchor": "For simple stable explanations or planning", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
48
|
-
{"anchor": "Treat a produced field, flag, signal", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
49
|
-
{"anchor": "Hard-block only deterministically decidable structural", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
50
|
-
{"anchor": "Runtime/code may enforce the contract", "tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
51
|
-
{"anchor": "When adding, changing, renaming, splitting, or exposing anything lasting or shared", "tier": "domain", "domains": ["builder-base"]},
|
|
52
|
-
{"anchor": "Before fixing a review finding or test failure", "tier": "domain", "domains": ["builder-base"]},
|
|
53
|
-
{"anchor": "For `.xlsx` editing, generation, reconciliation", "tier": "domain", "domains": ["office-work"]},
|
|
54
|
-
{"anchor": "For development work, read and use", "tier": "domain", "domains": ["builder-base"]},
|
|
55
|
-
{"anchor": "For mock, fixture, fake, stub, simulated-provider", "tier": "domain", "domains": ["builder-base"]},
|
|
56
|
-
{"anchor": "Own the full lifecycle of what you create", "tier": "domain", "domains": ["builder-base"]},
|
|
57
|
-
{"anchor": "Land risky or behavior-changing work behind", "tier": "domain", "domains": ["builder-base"]},
|
|
58
|
-
{"anchor": "For composing a review request, packet", "tier": "domain", "domains": ["builder-base"]},
|
|
59
|
-
{"anchor": "After every meaningful code, ontology, config", "tier": "domain", "domains": ["builder-base"]},
|
|
60
|
-
{"anchor": "For choosing verification depth, the per-domain mix, the case space, what makes a completion criterion falsifiable", "tier": "domain", "domains": ["builder-base"]},
|
|
61
|
-
{"anchor": "Report the checks run, results", "tier": "core", "domains": []},
|
|
62
|
-
{"anchor": "Trust a green check only when it traversed", "tier": "domain", "domains": ["builder-base"]},
|
|
63
|
-
{"anchor": "Before comparing two of anything", "tier": "domain", "domains": ["builder-base"]},
|
|
64
|
-
{"anchor": "For concrete shell/CLI traps", "tier": "domain", "domains": ["builder-base"]},
|
|
65
|
-
{"anchor": "Ambient state — the active shell", "tier": "domain", "domains": ["builder-base"]},
|
|
66
|
-
{"anchor": "Before relying on any model id", "tier": "domain", "domains": ["builder-base"]},
|
|
67
|
-
{"anchor": "Scope destructive actions (kill, rm, force-push", "tier": "domain", "domains": ["builder-base"]},
|
|
68
|
-
{"anchor": "Never accept secrets through transcript- or history-logged channels", "tier": "core", "domains": []},
|
|
69
|
-
{"anchor": "When a secret must be supplied", "tier": "domain", "domains": ["builder-base"]},
|
|
70
|
-
{"anchor": "Treat a coarse runtime signal", "tier": "domain", "domains": ["builder-base"]},
|
|
71
|
-
{"anchor": "Standing spawn policy: check the spawn gates", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
72
|
-
{"anchor": "Down-spawns carry a machine-checkable done-when", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
73
|
-
{"anchor": "For work spanning multiple models or CLI agents", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
74
|
-
{"anchor": "For composing a prompt, packet, or tool description", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
75
|
-
{"anchor": "Allocate models by difficulty", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
76
|
-
{"anchor": "Judge a review by how much independence", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
77
|
-
{"anchor": "dual-provider frontier design drafts", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
78
|
-
{"anchor": "Never retry-storm a live rate limit", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
79
|
-
{"anchor": "On any resumed, cleared, or relocated session", "tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
80
|
-
{"anchor": "Keep runtime code, active docs, and execution-facing", "tier": "domain", "domains": ["builder-base"]},
|
|
81
|
-
{"anchor": "For where a comment, a compatibility note, deprecated behavior, a rejected alternative", "tier": "domain", "domains": ["builder-base"]},
|
|
82
|
-
{"anchor": "For SVG diagrams, service blueprints", "tier": "domain", "domains": ["visualization-docs"]},
|
|
83
|
-
{"anchor": "When a concept is easier to understand visually", "tier": "domain", "domains": ["visualization-docs"]},
|
|
84
|
-
{"anchor": "Use HTML for comparisons, flows, state changes", "tier": "domain", "domains": ["visualization-docs"]},
|
|
85
|
-
{"anchor": "Keep HTML self-contained, accessible, and minimal", "tier": "domain", "domains": ["visualization-docs"]},
|
|
86
|
-
{"anchor": "Use plain text when it is clearer", "tier": "domain", "domains": ["visualization-docs"]},
|
|
87
|
-
{"anchor": "For the detailed `IMPLEMENTATION_MAP.html` construction rules", "tier": "domain", "domains": ["visualization-docs"]},
|
|
88
|
-
{"anchor": "In repos with implementation code", "tier": "domain", "domains": ["visualization-docs"]},
|
|
89
|
-
{"anchor": "`learn!` — session learning", "tier": "core", "domains": []}
|
|
13
|
+
{"anchor": "Prefer concise Korean responses", "tier": "env-personal", "domains": [], "item_id": "rule-001"},
|
|
14
|
+
{"anchor": "Keep file changes within the requested scope", "tier": "core", "domains": [], "item_id": "rule-002"},
|
|
15
|
+
{"anchor": "First identify the goal, scope, ambiguities", "tier": "core", "domains": [], "item_id": "rule-003"},
|
|
16
|
+
{"anchor": "Resolve ambiguity from context when safe", "tier": "core", "domains": [], "item_id": "rule-004"},
|
|
17
|
+
{"anchor": "For simple requests, choose the most direct", "tier": "core", "domains": [], "item_id": "rule-005"},
|
|
18
|
+
{"anchor": "For non-trivial requests, compare 2-4 methods", "tier": "core", "domains": [], "item_id": "rule-006"},
|
|
19
|
+
{"anchor": "Mark one default method", "tier": "core", "domains": [], "item_id": "rule-007"},
|
|
20
|
+
{"anchor": "Execute the chosen method accurately", "tier": "core", "domains": [], "item_id": "rule-008"},
|
|
21
|
+
{"anchor": "Return to understanding if a discovery breaks", "tier": "core", "domains": [], "item_id": "rule-009"},
|
|
22
|
+
{"anchor": "Reconsider the method if the selected approach", "tier": "core", "domains": [], "item_id": "rule-010"},
|
|
23
|
+
{"anchor": "Log non-blocking discoveries and continue", "tier": "core", "domains": [], "item_id": "rule-011"},
|
|
24
|
+
{"anchor": "If the same loopback happens twice", "tier": "core", "domains": [], "item_id": "rule-012"},
|
|
25
|
+
{"anchor": "Compare the result with the selected", "tier": "core", "domains": [], "item_id": "rule-013"},
|
|
26
|
+
{"anchor": "Ask decision questions in outcome terms", "tier": "core", "domains": [], "item_id": "rule-014"},
|
|
27
|
+
{"anchor": "When the user may not know the domain", "tier": "core", "domains": [], "item_id": "rule-015"},
|
|
28
|
+
{"anchor": "Present 2-4 meaningful options", "tier": "core", "domains": [], "item_id": "rule-016"},
|
|
29
|
+
{"anchor": "For each option, state what changes", "tier": "core", "domains": [], "item_id": "rule-017"},
|
|
30
|
+
{"anchor": "Translate technical terms into plain consequences", "tier": "core", "domains": [], "item_id": "rule-018"},
|
|
31
|
+
{"anchor": "Ask for the user's goal or constraint", "tier": "core", "domains": [], "item_id": "rule-019"},
|
|
32
|
+
{"anchor": "Evaluate user suggestions for goal fit", "tier": "core", "domains": [], "item_id": "rule-020"},
|
|
33
|
+
{"anchor": "Distinguish implementation feasibility from recommendation", "tier": "core", "domains": [], "item_id": "rule-021"},
|
|
34
|
+
{"anchor": "Do not default to a restrictive lens", "tier": "core", "domains": [], "item_id": "rule-022"},
|
|
35
|
+
{"anchor": "Treat user suggestions, inherited premises, prior diagnoses", "tier": "core", "domains": [], "item_id": "rule-023"},
|
|
36
|
+
{"anchor": "For structured-output, runtime-authority, capability-surface", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-024"},
|
|
37
|
+
{"anchor": "Use instructions to describe intended work", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-025"},
|
|
38
|
+
{"anchor": "Use the LLM for semantic work", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-026"},
|
|
39
|
+
{"anchor": "Use the capability surface for structural constraints", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-027"},
|
|
40
|
+
{"anchor": "Enforce constraints through the capability surface", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-028"},
|
|
41
|
+
{"anchor": "Use tools/code for deterministic work", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-029"},
|
|
42
|
+
{"anchor": "When exactness, freshness, scale, repeatability", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-030"},
|
|
43
|
+
{"anchor": "Let the LLM design merge, projection", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-031"},
|
|
44
|
+
{"anchor": "For required structured or machine-consumed outputs", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-032"},
|
|
45
|
+
{"anchor": "Let tools/code own ids, paths, serialization", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-033"},
|
|
46
|
+
{"anchor": "Keep deterministic values out of LLM authority", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-034"},
|
|
47
|
+
{"anchor": "For simple stable explanations or planning", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-035"},
|
|
48
|
+
{"anchor": "Treat a produced field, flag, signal", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-036"},
|
|
49
|
+
{"anchor": "Hard-block only deterministically decidable structural", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-037"},
|
|
50
|
+
{"anchor": "Runtime/code may enforce the contract", "tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "rule-038"},
|
|
51
|
+
{"anchor": "When adding, changing, renaming, splitting, or exposing anything lasting or shared", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-039"},
|
|
52
|
+
{"anchor": "Before fixing a review finding or test failure", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-040"},
|
|
53
|
+
{"anchor": "For `.xlsx` editing, generation, reconciliation", "tier": "domain", "domains": ["office-work"], "item_id": "rule-041"},
|
|
54
|
+
{"anchor": "For development work, read and use", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-042"},
|
|
55
|
+
{"anchor": "For mock, fixture, fake, stub, simulated-provider", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-043"},
|
|
56
|
+
{"anchor": "Own the full lifecycle of what you create", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-044"},
|
|
57
|
+
{"anchor": "Land risky or behavior-changing work behind", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-045"},
|
|
58
|
+
{"anchor": "For composing a review request, packet", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-046"},
|
|
59
|
+
{"anchor": "After every meaningful code, ontology, config", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-047"},
|
|
60
|
+
{"anchor": "For choosing verification depth, the per-domain mix, the case space, what makes a completion criterion falsifiable", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-048"},
|
|
61
|
+
{"anchor": "Report the checks run, results", "tier": "core", "domains": [], "item_id": "rule-049"},
|
|
62
|
+
{"anchor": "Trust a green check only when it traversed", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-050"},
|
|
63
|
+
{"anchor": "Before comparing two of anything", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-051"},
|
|
64
|
+
{"anchor": "For concrete shell/CLI traps", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-052"},
|
|
65
|
+
{"anchor": "Ambient state — the active shell", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-053"},
|
|
66
|
+
{"anchor": "Before relying on any model id", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-054"},
|
|
67
|
+
{"anchor": "Scope destructive actions (kill, rm, force-push", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-055"},
|
|
68
|
+
{"anchor": "Never accept secrets through transcript- or history-logged channels", "tier": "core", "domains": [], "item_id": "rule-056"},
|
|
69
|
+
{"anchor": "When a secret must be supplied", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-057"},
|
|
70
|
+
{"anchor": "Treat a coarse runtime signal", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-058"},
|
|
71
|
+
{"anchor": "Standing spawn policy: check the spawn gates", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-059"},
|
|
72
|
+
{"anchor": "Down-spawns carry a machine-checkable done-when", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-060"},
|
|
73
|
+
{"anchor": "For work spanning multiple models or CLI agents", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-061"},
|
|
74
|
+
{"anchor": "For composing a prompt, packet, or tool description", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-062"},
|
|
75
|
+
{"anchor": "Allocate models by difficulty", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-063"},
|
|
76
|
+
{"anchor": "Judge a review by how much independence", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-064"},
|
|
77
|
+
{"anchor": "dual-provider frontier design drafts", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-065"},
|
|
78
|
+
{"anchor": "Never retry-storm a live rate limit", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-066"},
|
|
79
|
+
{"anchor": "On any resumed, cleared, or relocated session", "tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "rule-067"},
|
|
80
|
+
{"anchor": "Keep runtime code, active docs, and execution-facing", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-068"},
|
|
81
|
+
{"anchor": "For where a comment, a compatibility note, deprecated behavior, a rejected alternative", "tier": "domain", "domains": ["builder-base"], "item_id": "rule-069"},
|
|
82
|
+
{"anchor": "For SVG diagrams, service blueprints", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-070"},
|
|
83
|
+
{"anchor": "When a concept is easier to understand visually", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-071"},
|
|
84
|
+
{"anchor": "Use HTML for comparisons, flows, state changes", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-072"},
|
|
85
|
+
{"anchor": "Keep HTML self-contained, accessible, and minimal", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-073"},
|
|
86
|
+
{"anchor": "Use plain text when it is clearer", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-074"},
|
|
87
|
+
{"anchor": "For the detailed `IMPLEMENTATION_MAP.html` construction rules", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-075"},
|
|
88
|
+
{"anchor": "In repos with implementation code", "tier": "domain", "domains": ["visualization-docs"], "item_id": "rule-076"},
|
|
89
|
+
{"anchor": "`learn!` — session learning", "tier": "core", "domains": [], "item_id": "rule-077"}
|
|
90
90
|
],
|
|
91
91
|
"guides": {
|
|
92
|
-
"claude-prompting.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "handles": ["per-family prompting guide", "계열별 prompting guide"]},
|
|
93
|
-
"cli-multi-model-workflow.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "handles": ["multi-model guide", "multi-model 가이드"]},
|
|
94
|
-
"coding-staged-workflow.md": {"tier": "domain", "domains": ["builder-base"]},
|
|
95
|
-
"concept-economy.md": {"tier": "domain", "domains": ["builder-base"]},
|
|
96
|
-
"documentation-hygiene.md": {"tier": "domain", "domains": ["builder-base"]},
|
|
97
|
-
"gpt-prompting.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "handles": ["prompting guides for gpt-family"]},
|
|
98
|
-
"implementation-map.md": {"tier": "domain", "domains": ["visualization-docs"]},
|
|
99
|
-
"llm-capability-boundary-examples.md": {"tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
100
|
-
"llm-capability-boundary-patterns.md": {"tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
101
|
-
"llm-capability-boundary.md": {"tier": "domain", "domains": ["llm-pipeline-dev"]},
|
|
102
|
-
"mock-realization-boundary.md": {"tier": "domain", "domains": ["builder-base"]},
|
|
103
|
-
"review-defect-criteria.md": {"tier": "domain", "domains": ["builder-base"]},
|
|
104
|
-
"review-request.md": {"tier": "domain", "domains": ["builder-base"]},
|
|
105
|
-
"session-distill-workflow.md": {"tier": "infra", "domains": []},
|
|
106
|
-
"learning-flow.md": {"tier": "infra", "domains": []},
|
|
107
|
-
"svg-visualization-guide.md": {"tier": "domain", "domains": ["visualization-docs"]},
|
|
108
|
-
"
|
|
109
|
-
"
|
|
92
|
+
"claude-prompting.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "handles": ["per-family prompting guide", "계열별 prompting guide"], "item_id": "guide-claude-prompting"},
|
|
93
|
+
"cli-multi-model-workflow.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "handles": ["multi-model guide", "multi-model 가이드"], "item_id": "guide-cli-multi-model-workflow"},
|
|
94
|
+
"coding-staged-workflow.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-coding-staged-workflow"},
|
|
95
|
+
"concept-economy.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-concept-economy"},
|
|
96
|
+
"documentation-hygiene.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-documentation-hygiene"},
|
|
97
|
+
"gpt-prompting.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "handles": ["prompting guides for gpt-family"], "item_id": "guide-gpt-prompting"},
|
|
98
|
+
"implementation-map.md": {"tier": "domain", "domains": ["visualization-docs"], "item_id": "guide-implementation-map"},
|
|
99
|
+
"llm-capability-boundary-examples.md": {"tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "guide-llm-capability-boundary-examples"},
|
|
100
|
+
"llm-capability-boundary-patterns.md": {"tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "guide-llm-capability-boundary-patterns"},
|
|
101
|
+
"llm-capability-boundary.md": {"tier": "domain", "domains": ["llm-pipeline-dev"], "item_id": "guide-llm-capability-boundary"},
|
|
102
|
+
"mock-realization-boundary.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-mock-realization-boundary"},
|
|
103
|
+
"review-defect-criteria.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-review-defect-criteria"},
|
|
104
|
+
"review-request.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-review-request"},
|
|
105
|
+
"session-distill-workflow.md": {"tier": "infra", "domains": [], "item_id": "guide-session-distill-workflow"},
|
|
106
|
+
"learning-flow.md": {"tier": "infra", "domains": [], "item_id": "guide-learning-flow"},
|
|
107
|
+
"svg-visualization-guide.md": {"tier": "domain", "domains": ["visualization-docs"], "item_id": "guide-svg-visualization-guide"},
|
|
108
|
+
"slide-writing.md": {"tier": "domain", "domains": ["office-work", "visualization-docs"], "item_id": "skill-slide-writing"},
|
|
109
|
+
"verification-discipline.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-verification-discipline"},
|
|
110
|
+
"tooling-gotchas.md": {"tier": "domain", "domains": ["builder-base"], "item_id": "guide-tooling-gotchas"}
|
|
110
111
|
},
|
|
111
112
|
"hooks": {
|
|
112
|
-
"tooling-gotchas-hook.py": {"tier": "domain", "domains": ["builder-base"], "source_guide": "tooling-gotchas.md"}
|
|
113
|
+
"tooling-gotchas-hook.py": {"tier": "domain", "domains": ["builder-base"], "source_guide": "tooling-gotchas.md", "item_id": "hook-tooling-gotchas-hook"}
|
|
113
114
|
},
|
|
114
115
|
"agents": {
|
|
115
|
-
"frontier.md": {"tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
116
|
-
"sweep.md": {"tier": "domain", "domains": ["multi-agent-orchestration"]},
|
|
117
|
-
"workhorse.md": {"tier": "domain", "domains": ["multi-agent-orchestration"]}
|
|
116
|
+
"frontier.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "agent-frontier"},
|
|
117
|
+
"sweep.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "agent-sweep"},
|
|
118
|
+
"workhorse.md": {"tier": "domain", "domains": ["multi-agent-orchestration"], "item_id": "agent-workhorse"}
|
|
118
119
|
},
|
|
119
120
|
"skills": {
|
|
120
|
-
"repo-charter": {"tier": "domain", "domains": ["builder-base"]}
|
|
121
|
+
"repo-charter": {"tier": "domain", "domains": ["builder-base"], "item_id": "skill-repo-charter"}
|
|
121
122
|
}
|
|
122
123
|
}
|
package/install.sh
CHANGED
|
@@ -389,7 +389,37 @@ assemble_corpus() {
|
|
|
389
389
|
if [ -f "$CLAUDE_DIR/central/bundle.md" ]; then
|
|
390
390
|
printf '%s\n' "$CLAUDE_DIR/central/bundle.md" >> "$MANIFEST"
|
|
391
391
|
fi
|
|
392
|
-
|
|
392
|
+
# A guide can carry a same-stem companion tree. The assembler owns that structure, so
|
|
393
|
+
# manifest it through its resolver rather than flattening `guides/*.md`: uninstall needs
|
|
394
|
+
# every deployed script/asset by its exact path, and must not claim a user-created sibling
|
|
395
|
+
# merely because it sits below one of our guide directories.
|
|
396
|
+
local source_guides="$REPO/claude/guides" codex_guides="$REPO/codex/guides"
|
|
397
|
+
manifest_guide_members() {
|
|
398
|
+
# Pin the installed resolver file independently of the selected content tree.
|
|
399
|
+
python3 - "$REPO/compose/assemble.py" "$1" "$2" <<'PY'
|
|
400
|
+
import pathlib
|
|
401
|
+
import sys
|
|
402
|
+
|
|
403
|
+
assembler, source, dest = map(pathlib.Path, sys.argv[1:])
|
|
404
|
+
sys.path.insert(0, str(assembler.parent))
|
|
405
|
+
from assemble import GuideMemberError, guide_member_map
|
|
406
|
+
|
|
407
|
+
try:
|
|
408
|
+
members = guide_member_map(source)
|
|
409
|
+
except GuideMemberError as exc:
|
|
410
|
+
raise SystemExit(f"invalid guide bundle source: {exc}")
|
|
411
|
+
for paths in members.values():
|
|
412
|
+
for rel in paths:
|
|
413
|
+
target = dest / rel
|
|
414
|
+
if target.is_file():
|
|
415
|
+
print(target)
|
|
416
|
+
PY
|
|
417
|
+
}
|
|
418
|
+
if ! manifest_guide_members "$source_guides" "$CLAUDE_DIR/central/guides" >> "$MANIFEST"; then
|
|
419
|
+
log "could not enumerate assembled Claude guide members for the manifest"
|
|
420
|
+
return 1
|
|
421
|
+
fi
|
|
422
|
+
for sub in hooks agents; do
|
|
393
423
|
for s in "$REPO"/claude/"$sub"/*; do
|
|
394
424
|
[ -f "$s" ] || continue
|
|
395
425
|
dst="$CLAUDE_DIR/central/$sub/$(basename "$s")"
|
|
@@ -398,16 +428,10 @@ assemble_corpus() {
|
|
|
398
428
|
if [ -f "$dst" ]; then printf '%s\n' "$dst" >> "$MANIFEST"; fi
|
|
399
429
|
done
|
|
400
430
|
done
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
# not deployed (a partial domain selection on a fresh machine), the
|
|
406
|
-
# compound's false status became the loop's, the loop's became the
|
|
407
|
-
# function's, and the install died silently right after ASSEMBLED —
|
|
408
|
-
# a latent first-user bug the I9 scenario exposed.
|
|
409
|
-
if [ -f "$dst" ]; then printf '%s\n' "$dst" >> "$MANIFEST"; fi
|
|
410
|
-
done
|
|
431
|
+
if ! manifest_guide_members "$codex_guides" "$CODEX_DIR/guides" >> "$MANIFEST"; then
|
|
432
|
+
log "could not enumerate assembled Codex guide members for the manifest"
|
|
433
|
+
return 1
|
|
434
|
+
fi
|
|
411
435
|
fi
|
|
412
436
|
return 0
|
|
413
437
|
}
|
|
@@ -1718,7 +1742,11 @@ cmd_update() {
|
|
|
1718
1742
|
if [ -e "$REPO/.git" ]; then
|
|
1719
1743
|
log "Updating from git..."
|
|
1720
1744
|
run git -C "$REPO" pull --ff-only
|
|
1721
|
-
|
|
1745
|
+
if [ "${AGENT_BIOS_LEGACY_INSTALL:-0}" = 1 ]; then
|
|
1746
|
+
cmd_install
|
|
1747
|
+
else
|
|
1748
|
+
python3 "$REPO/compose/corpus_install.py" --repo "$REPO" install
|
|
1749
|
+
fi
|
|
1722
1750
|
else
|
|
1723
1751
|
log "Installed as an npm package. Update with:"
|
|
1724
1752
|
log " npm install -g agent-bios@latest && agent-bios install"
|
|
@@ -1730,11 +1758,14 @@ cmd_update() {
|
|
|
1730
1758
|
|
|
1731
1759
|
usage() {
|
|
1732
1760
|
cat <<'EOF'
|
|
1733
|
-
agent-bios —
|
|
1734
|
-
|
|
1735
|
-
agent-bios install
|
|
1736
|
-
agent-bios onboard
|
|
1737
|
-
agent-bios
|
|
1761
|
+
agent-bios — manage private corpus content for explicitly activated sessions.
|
|
1762
|
+
|
|
1763
|
+
agent-bios install store a private runtime and corpus baseline
|
|
1764
|
+
agent-bios onboard select domains for future activated sessions
|
|
1765
|
+
agent-bios corpus open Corpus Studio; list/show/plan/apply also work non-TTY
|
|
1766
|
+
agent-bios migrate preview legacy global cleanup; --apply --yes applies it
|
|
1767
|
+
agent-bios reset preview reset; --apply --yes --expected-revision REV applies it
|
|
1768
|
+
agent-bios verify verify the private runtime, baseline, and managed files
|
|
1738
1769
|
agent-bios learn submit a session learning (reads the JSON record on
|
|
1739
1770
|
stdin; this is what the learn! flow calls, and it
|
|
1740
1771
|
works from any directory, unlike a repo-relative path)
|
|
@@ -1745,7 +1776,7 @@ agent-bios — deploy the Claude/Codex instruction SSOT into $HOME (by copy).
|
|
|
1745
1776
|
agent-bios update --check ask the registry for the latest version and cache it
|
|
1746
1777
|
for the launcher's badge; sends the package name and nothing
|
|
1747
1778
|
else, runs at most daily, AGENT_BIOS_UPDATE_CHECK=0 disables it
|
|
1748
|
-
agent-bios uninstall remove
|
|
1779
|
+
agent-bios uninstall remove the private runtime; preserve personal and session data
|
|
1749
1780
|
agent-bios help
|
|
1750
1781
|
|
|
1751
1782
|
Flags: --dry-run print actions without changing anything
|
|
@@ -1783,6 +1814,20 @@ EOF
|
|
|
1783
1814
|
CMD="${1:-help}"
|
|
1784
1815
|
if [ $# -gt 0 ]; then shift; fi
|
|
1785
1816
|
|
|
1817
|
+
# Private installation is the new user path. The explicit legacy flag exists only
|
|
1818
|
+
# while maintained install fixtures and pre-migration environments exercise the old
|
|
1819
|
+
# writer. No private operation falls through to a global writer.
|
|
1820
|
+
if [ "$CMD" = "corpus" ]; then
|
|
1821
|
+
exec python3 "$REPO/compose/corpus.py" --repo "$REPO" "$@" <&3
|
|
1822
|
+
fi
|
|
1823
|
+
if [ "${AGENT_BIOS_LEGACY_INSTALL:-0}" != 1 ]; then
|
|
1824
|
+
case "$CMD" in
|
|
1825
|
+
install|onboard|verify|status|uninstall|migrate|reset)
|
|
1826
|
+
exec python3 "$REPO/compose/corpus_install.py" --repo "$REPO" "$CMD" "$@" <&3
|
|
1827
|
+
;;
|
|
1828
|
+
esac
|
|
1829
|
+
fi
|
|
1830
|
+
|
|
1786
1831
|
# `learn` forwards its arguments and stdin straight to the collector, so it must
|
|
1787
1832
|
# bypass the flag parser below (which rejects anything it does not know). This
|
|
1788
1833
|
# subcommand is the only PATH-reachable entry to capture: the corpus guide used
|