ultra-builder-pro-cli 5.0.1 → 6.0.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +103 -3
  2. package/README.md +67 -478
  3. package/README.zh-CN.md +49 -422
  4. package/adapters/_shared/frontmatter.cjs +1 -18
  5. package/adapters/_shared/plugin-core.cjs +17 -83
  6. package/adapters/_shared/runtime-assets.cjs +6 -120
  7. package/adapters/claude.js +8 -24
  8. package/adapters/codex.js +13 -32
  9. package/bin/install.js +35 -57
  10. package/docs/PLUGIN-ISOLATION-CONTRACT.md +13 -101
  11. package/docs/examples/drive/claude-reviewer.sh +53 -0
  12. package/docs/examples/drive/claude-writer.sh +43 -0
  13. package/engine/FORMATS.md +1051 -0
  14. package/engine/checks.cjs +139 -0
  15. package/engine/cli.cjs +148 -0
  16. package/engine/completion.cjs +48 -0
  17. package/engine/context.cjs +94 -0
  18. package/engine/drive.cjs +220 -0
  19. package/engine/expect-worker.cjs +5 -0
  20. package/engine/expect.cjs +33 -0
  21. package/engine/formats.cjs +189 -0
  22. package/engine/git-state.cjs +112 -0
  23. package/engine/ledger.cjs +205 -0
  24. package/engine/loading.cjs +28 -0
  25. package/engine/merge.cjs +273 -0
  26. package/engine/milestone.cjs +89 -0
  27. package/engine/plan.cjs +232 -0
  28. package/engine/project.cjs +5 -0
  29. package/engine/signals.cjs +3 -0
  30. package/engine/states.cjs +175 -0
  31. package/hooks/session-start.cjs +54 -0
  32. package/package.json +17 -52
  33. package/skills/ultra/SKILL.md +395 -0
  34. package/.ultra-template/changes/abandoned/.gitkeep +0 -0
  35. package/.ultra-template/changes/active/.gitkeep +0 -1
  36. package/.ultra-template/changes/archive/.gitkeep +0 -1
  37. package/.ultra-template/contexts/TEMPLATE.md +0 -135
  38. package/.ultra-template/decisions/.gitkeep +0 -1
  39. package/.ultra-template/evidence/.gitkeep +0 -1
  40. package/.ultra-template/north-star.md +0 -52
  41. package/.ultra-template/project-brief.md +0 -28
  42. package/.ultra-template/research/.gitkeep +0 -1
  43. package/.ultra-template/specs/architecture.md +0 -81
  44. package/.ultra-template/specs/discovery.md +0 -74
  45. package/.ultra-template/specs/product.md +0 -80
  46. package/.ultra-template/specs/research-distillate.md +0 -57
  47. package/.ultra-template/tasks.json +0 -4
  48. package/.ultra-template/test-report.json +0 -44
  49. package/adapters/_shared/host-profile.cjs +0 -5
  50. package/adapters/grok.js +0 -242
  51. package/adapters/kimi.js +0 -232
  52. package/adapters/opencode.js +0 -408
  53. package/adapters/zcode.js +0 -375
  54. package/bin/delegate-worker.cjs +0 -5
  55. package/bin/delegate.cjs +0 -5
  56. package/docs/ARCHITECTURE.md +0 -274
  57. package/docs/ARTIFACT-AUTHORITY.md +0 -305
  58. package/docs/DECISIONS.md +0 -229
  59. package/docs/PHILOSOPHY.md +0 -261
  60. package/docs/RUNTIME-COMPAT-MATRIX.md +0 -316
  61. package/docs/SKILL-AUTHORING.md +0 -113
  62. package/docs/WORKFLOW-LIFECYCLE.md +0 -350
  63. package/docs/evals/adversarial-review-2026-08-14.md +0 -84
  64. package/docs/evals/ultra-5-0-journey-results.md +0 -62
  65. package/docs/evals/ultra-5-0-live-acp-conformance.md +0 -93
  66. package/docs/evals/ultra-5-0-route-journeys.md +0 -145
  67. package/docs/evals/zcode-automation-2026-08-14.md +0 -103
  68. package/hooks/README.md +0 -52
  69. package/hooks/_common.py +0 -1779
  70. package/hooks/adapters/codex.py +0 -295
  71. package/hooks/adapters/grok.py +0 -134
  72. package/hooks/adapters/kimi.py +0 -156
  73. package/hooks/adapters/zcode.py +0 -227
  74. package/hooks/block_dangerous_commands.py +0 -201
  75. package/hooks/compact_context.py +0 -224
  76. package/hooks/mid_workflow_recall.py +0 -47
  77. package/hooks/post_edit_guard.py +0 -215
  78. package/hooks/session_context.py +0 -741
  79. package/skills/ultra-change/SKILL.md +0 -165
  80. package/skills/ultra-change/references/change-contract.md +0 -199
  81. package/skills/ultra-change/references/execution-grant.md +0 -109
  82. package/skills/ultra-change/references/primary-transfer.md +0 -273
  83. package/skills/ultra-change/scripts/validate_primary_transfer.cjs +0 -1928
  84. package/skills/ultra-delegate/SKILL.md +0 -195
  85. package/skills/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch +0 -184
  86. package/skills/ultra-delegate/references/delegation-contract.md +0 -138
  87. package/skills/ultra-delegate/scripts/acp-conformance.cjs +0 -287
  88. package/skills/ultra-delegate/scripts/acp-driver.cjs +0 -762
  89. package/skills/ultra-delegate/scripts/agent-execution-driver.cjs +0 -320
  90. package/skills/ultra-delegate/scripts/cli-driver.cjs +0 -61
  91. package/skills/ultra-delegate/scripts/delegate-profiles/kimi-read-only.md +0 -15
  92. package/skills/ultra-delegate/scripts/delegate-profiles/kimi-write.md +0 -17
  93. package/skills/ultra-delegate/scripts/delegate-worker.cjs +0 -328
  94. package/skills/ultra-delegate/scripts/delegate.cjs +0 -690
  95. package/skills/ultra-delegate/scripts/delegate_wait.py +0 -86
  96. package/skills/ultra-delegate/scripts/host-profile.cjs +0 -267
  97. package/skills/ultra-deliver/SKILL.md +0 -194
  98. package/skills/ultra-deliver/references/baseline-reconciliation.md +0 -41
  99. package/skills/ultra-dev/SKILL.md +0 -265
  100. package/skills/ultra-dev/references/debugging.md +0 -22
  101. package/skills/ultra-domain-modeling/SKILL.md +0 -79
  102. package/skills/ultra-grilling/SKILL.md +0 -121
  103. package/skills/ultra-grilling/references/reframing.md +0 -76
  104. package/skills/ultra-init/SKILL.md +0 -143
  105. package/skills/ultra-init/references/brownfield-adoption.md +0 -32
  106. package/skills/ultra-init/scripts/init_project.cjs +0 -1031
  107. package/skills/ultra-plan/SKILL.md +0 -160
  108. package/skills/ultra-plan/references/task-evidence-v2.md +0 -300
  109. package/skills/ultra-plan/scripts/validate_task_evidence.cjs +0 -859
  110. package/skills/ultra-research/SKILL.md +0 -167
  111. package/skills/ultra-research/references/00-problem-validation.md +0 -36
  112. package/skills/ultra-research/references/01-opportunity-discovery.md +0 -33
  113. package/skills/ultra-research/references/02-market-assessment.md +0 -31
  114. package/skills/ultra-research/references/03-alternatives.md +0 -31
  115. package/skills/ultra-research/references/04-product-strategy.md +0 -41
  116. package/skills/ultra-research/references/05-assumptions-validation.md +0 -31
  117. package/skills/ultra-research/references/10-user-personas.md +0 -30
  118. package/skills/ultra-research/references/11-user-scenarios.md +0 -28
  119. package/skills/ultra-research/references/20-user-stories.md +0 -31
  120. package/skills/ultra-research/references/21-features-scope.md +0 -38
  121. package/skills/ultra-research/references/22-success-metrics.md +0 -33
  122. package/skills/ultra-research/references/30-architecture-context.md +0 -30
  123. package/skills/ultra-research/references/31-solution-strategy.md +0 -28
  124. package/skills/ultra-research/references/32-building-blocks.md +0 -28
  125. package/skills/ultra-research/references/40-deployment.md +0 -29
  126. package/skills/ultra-research/references/41-quality-risks.md +0 -28
  127. package/skills/ultra-research/references/99-synthesis.md +0 -59
  128. package/skills/ultra-research/references/north-star-v2.md +0 -168
  129. package/skills/ultra-research/references/wayfinding.md +0 -50
  130. package/skills/ultra-research/scripts/validate_north_star.cjs +0 -1174
  131. package/skills/ultra-review/SKILL.md +0 -275
  132. package/skills/ultra-review/references/adversarial-evaluation.md +0 -31
  133. package/skills/ultra-review/references/code.md +0 -17
  134. package/skills/ultra-review/references/comments.md +0 -12
  135. package/skills/ultra-review/references/design.md +0 -12
  136. package/skills/ultra-review/references/errors.md +0 -13
  137. package/skills/ultra-review/references/review-modes.md +0 -29
  138. package/skills/ultra-review/references/spec.md +0 -18
  139. package/skills/ultra-review/references/tests.md +0 -12
  140. package/skills/ultra-review/references/unified-schema.md +0 -284
  141. package/skills/ultra-review/references/worker-packet.md +0 -183
  142. package/skills/ultra-review/scripts/review_wait.py +0 -2943
  143. package/skills/ultra-status/SKILL.md +0 -209
  144. package/skills/ultra-status/references/route-contract.md +0 -100
  145. package/skills/ultra-tdd/SKILL.md +0 -91
  146. package/skills/ultra-tdd/references/templates/README.md +0 -20
  147. package/skills/ultra-tdd/references/templates/feature-flag-default-audit.sh +0 -79
  148. package/skills/ultra-tdd/references/templates/persistence-real.ts +0 -78
  149. package/skills/ultra-tdd/references/templates/testcontainer-postgres.py +0 -78
  150. package/skills/ultra-tdd/references/templates/testcontainer-postgres.ts +0 -73
  151. package/skills/ultra-tdd/references/templates/vertical-slice.ts +0 -66
  152. package/skills/ultra-tdd/references/test-execution.md +0 -23
  153. package/skills/ultra-test/SKILL.md +0 -244
  154. package/skills/ultra-test/references/export-syntax.md +0 -18
  155. package/skills/ultra-test/scripts/validate_review_transport.cjs +0 -549
  156. package/skills/ultra-test/scripts/worktree_digest.cjs +0 -576
  157. package/skills/ultra-think/SKILL.md +0 -56
  158. package/skills/ultra-think/references/autonomy-boundary.md +0 -48
  159. package/skills/ultra-think/references/interaction-boundary.md +0 -42
@@ -1,28 +0,0 @@
1
- # Quality scenarios and risks
2
-
3
- Use for workflow step `41-quality-risks`.
4
-
5
- ## Objective
6
-
7
- Turn quality goals and known failure modes into observable scenarios, mitigations,
8
- recovery expectations, and a durable risk ledger.
9
-
10
- ## Method
11
-
12
- - Cover only qualities material to the accepted system: correctness, availability,
13
- security, performance, privacy, maintainability, or others supported by evidence.
14
- - State trigger, operating condition, expected response, measurement, and recovery.
15
- - Separate known defect, technical debt, uncertain risk, and accepted constraint.
16
- - Do not assign arbitrary probability or confidence scores.
17
-
18
- ## Record
19
-
20
- Update `architecture.md` with quality scenarios, risk evidence, mitigation, owner,
21
- verification, recovery, technical debt, and architecture decisions where needed.
22
-
23
- Complete the step with evidence references and the updated output path.
24
-
25
- ## Report trace
26
-
27
- In the area report, record `trigger_condition`, `expected_response`, `measurement`,
28
- `mitigation`, `recovery`, and `owner`, then link the risk heading or decision file.
@@ -1,59 +0,0 @@
1
- # Research synthesis
2
-
3
- Use for workflow step `99-synthesis`.
4
-
5
- ## Objective
6
-
7
- Verify that research artifacts form one traceable, planning-ready baseline without
8
- creating a second condensed authority.
9
-
10
- ## Validate
11
-
12
- - Every consequential claim is marked `Observed`, `Verified`, `Decided`, or `Unknown`.
13
- - Product behavior traces from problem or constraint through actor, scenario,
14
- requirement, acceptance, architecture, quality, and delivery evidence.
15
- - Current behavior and proposed behavior are not silently merged.
16
- - Scope reflects owner decisions and never an inferred MVP or reduction.
17
- - Documentation conflicts, known failures, and load-bearing unknowns are in the gap
18
- ledger with owners or explicit decisions.
19
- - Verification commands and observed results are current.
20
- - Every accepted `FP-*` has evidence, causal consequence, and a falsifier or revisit
21
- trigger; every `NS-*` has an observation contract and anti-metric; every `HC-*` names
22
- the protected value or threat, authority, and revisit condition.
23
-
24
- ## Record
25
-
26
- Follow `north-star-v2.md`. Validate the complete mutable candidate with
27
- `scripts/validate_north_star.cjs` while the previous accepted revision remains current.
28
- Only after the owner accepts this checkpoint and exact semantic delta, record the owner
29
- acceptance source and atomically replace `.ultra/north-star.md` with accepted problem
30
- reality, `FP-*` propositions, causal chains, `NS-*` outcomes, `HC-*` constraints,
31
- exclusions, uncertainties, revisit triggers, and Research trace.
32
-
33
- If this supersedes an accepted revision, preserve its Git and downstream evidence.
34
- Report dependent active Change traces as stale observations until Change reconciliation;
35
- do not silently rewrite intent or infer new execution authority.
36
- Keep raw owner wording in `project-brief.md`; do not process it in place.
37
-
38
- Write `research-distillate.md` as a navigation and traceability artifact containing
39
- baseline ids, source document anchors, accepted decisions, blockers, gaps, verification
40
- evidence, the exact planning entry, and the current Git blob hash from
41
- `git hash-object` for `product.md`, `architecture.md`, and `discovery.md`. Do not
42
- duplicate the specifications' prose. A later mismatch marks the distillate stale; it
43
- does not make the old synthesis authoritative.
44
-
45
- Write the final `99-synthesis.md` report, link all three specification paths, the
46
- distillate path, and the evidence used for synthesis. Read those files back before
47
- reporting convergence.
48
-
49
- ## Report trace
50
-
51
- Record one verified chain through `problem_id`, `scenario_id`, `requirement_ids`,
52
- `architecture_path_ids`, and `verification_refs`. Every referenced id must exist in an
53
- earlier selected area report or specification heading.
54
-
55
- ## Adversarial challenge
56
-
57
- Before acceptance, challenge the strongest premise, Goodhart or proxy failure, and a
58
- scenario where every stated output passes while the claimed delivered value still fails.
59
- Record what would change the conclusion and every unresolved contradiction.
@@ -1,168 +0,0 @@
1
- # North Star v2 contract
2
-
3
- Use this contract when Research proposes the first steering authority or a replacement
4
- revision. Init creates only the packaged `unresearched` placeholder.
5
-
6
- ## Agency boundary
7
-
8
- Research selects evidence, synthesizes causal propositions, and proposes language. The
9
- owner accepts the problem boundary, `FP-*`, `NS-*`, `HC-*`, exclusions, and material
10
- uncertainty. The validator observes headings, fields, IDs, and references; it never
11
- decides whether a proposition is true, an outcome is valuable, or a constraint is wise.
12
-
13
- Keep the last accepted file current while a replacement is drafted. Validation failure
14
- returns diagnostics and leaves the draft mutable. Only explicit owner acceptance permits
15
- an atomic replacement of `.ultra/north-star.md`.
16
-
17
- ## Exact top-level headings
18
-
19
- 1. `## Acceptance and Revision`
20
- 2. `## Problem Reality`
21
- 3. `## First-Principle Propositions`
22
- 4. `## Value Causal Chain`
23
- 5. `## North Star Outcomes`
24
- 6. `## Hard Constraints`
25
- 7. `## Explicit Exclusions`
26
- 8. `## Uncertainties and Revisit Triggers`
27
- 9. `## Research Trace`
28
-
29
- `Acceptance and Revision` records `Schema`, `Status`, `Revision`, `Owner acceptance
30
- source`, `Acceptance time`, and `Supersedes`. Do not invent a timestamp: use
31
- `not-recorded` when the authoritative owner source has none. `Status` is exactly
32
- `unresearched` for the empty Init placeholder, `draft` for a mutable candidate, or
33
- `accepted` after owner acceptance. A draft may define semantic IDs but must use
34
- `Owner acceptance source: none`; every First-Principle Proposition in an accepted
35
- revision has `Status: accepted`.
36
-
37
- The `unresearched` form is one exact packaged byte sequence, not a looser shape. Its
38
- title, authority and adoption preamble, all six acceptance fields, all eight later
39
- sentinel bodies, interstitial whitespace, and trailing newline must match
40
- `.ultra-template/north-star.md`. Any mutation is invalid and Init stops before publication
41
- with an `ultra-init-error-v1` payload: `code: north_star_template_invalid`, plus the full
42
- canonical validator `diagnostics`, including `invalid_unresearched_placeholder` for an
43
- exact-byte mismatch. This checksum-backed grammar prevents Init from becoming a hidden
44
- semantic writer; it does not judge any researched proposition.
45
-
46
- ## Stable semantic entries
47
-
48
- Define accepted entries with level-three headings. IDs are stable within project
49
- history, unique, and never silently recycled.
50
-
51
- ```markdown
52
- ### FP-1 — Short name
53
- - Proposition:
54
- - Evidence:
55
- - Causal consequence:
56
- - Falsifier or revisit trigger:
57
- - Status: `accepted`
58
-
59
- ### NS-1 — Short name
60
- - Outcome:
61
- - Observation method:
62
- - Baseline:
63
- - Target or expected change:
64
- - Horizon:
65
- - Anti-metric:
66
-
67
- ### HC-1 — Short name
68
- - Protected value or threat:
69
- - Constraint:
70
- - Authority or evidence:
71
- - Revisit condition:
72
- ```
73
-
74
- Do not impose a maximum count. Prefer the smallest set that explains the accepted
75
- boundary, but let Research and the owner decide semantic sufficiency.
76
-
77
- The Value Causal Chain references definitions instead of repeating them:
78
-
79
- ```text
80
- FP-* -> capability -> observable behavior -> NS-*
81
- ```
82
-
83
- In a draft or accepted revision every pipe-delimited causal-chain row has exactly five
84
- cells. Header and separator rows use that same width; each data row carries a `VC-*`, a
85
- resolving `FP-*`, nonempty capability and behavior, and a resolving `NS-*`. A malformed
86
- row remains invalid even when another row is valid. Every one of the nine required
87
- sections is nonempty for accepted publication; these are exact structural observations,
88
- not a mechanical claim that the content is semantically sufficient.
89
-
90
- Supporting product behavior, actors, requirements, measurements, and architecture stay
91
- in specifications. Shared vocabulary stays in `CONTEXT.md`. Change-local outcome,
92
- non-goals, acceptance, risk, and recovery stay in the active intent.
93
-
94
- ## Validation and adoption
95
-
96
- Callers that already own a bounded stable no-symlink snapshot pass those exact bytes
97
- through stdin while identifying the canonical absolute path:
98
-
99
- ```bash
100
- node <ultra-research-skill-dir>/scripts/validate_north_star.cjs --stdin --path <canonical-absolute-path>
101
- ```
102
-
103
- Research and manual callers may instead use the direct path entry:
104
-
105
- ```bash
106
- node <ultra-research-skill-dir>/scripts/validate_north_star.cjs <candidate-path>
107
- ```
108
-
109
- Path mode applies the same 8 MiB ceiling itself. It requires a regular non-symlink file,
110
- opens with `O_NONBLOCK` and `O_NOFOLLOW`, binds the pre-read `lstat` to the open
111
- descriptor, and rechecks descriptor/path identity, size, and the retained-byte digest
112
- after the bounded read. An oversized file, symlink, special file, read failure, or
113
- observable ordinary replacement returns `input_too_large`, `input_symlink`,
114
- `input_not_regular`, `read_error`, or `input_changed`; preserve the current path and
115
- retry after cooperative workspace writes settle. No typed input failure is a semantic
116
- judgment or a promise to defeat a malicious operating-system-level writer.
117
-
118
- Every verdict over a completed byte snapshot carries `input.path`, `input.byte_length`,
119
- and `input.sha256` for those bytes. A capture failure keeps the same keys but uses null
120
- for any byte length or digest it could not safely observe. Markdown headings, grammar
121
- fields, causal rows, and decision-record fields count only rendered lines outside
122
- backtick or tilde fences; acceptance binding still hashes the exact raw bytes.
123
- SessionStart applies the same 8 MiB stable no-symlink snapshot limit and validates those
124
- same bytes, rather than reopening a different path snapshot.
125
-
126
- The command emits `ultra-north-star-validation-v1`. The actual v0.26 shape containing
127
- `Project Direction`, `North Star Outcome`, and `Hard Constraints`, and the older
128
- `## One-line` form, are reported as `legacy_unadopted` with an advisory. A candidate
129
- combining v2 markers with a legacy semantic heading is reported with
130
- `kind: "north-star-v2"`, its parsed v2 `status`, `classification: "mixed"`, and
131
- `valid: false`; appending a legacy heading cannot bypass v2 validation. Other malformed
132
- shapes are `unknown` and invalid. Research must migrate legacy input through an
133
- owner-accepted replacement rather than mutating it in place.
134
-
135
- Init consumes a preserved North Star from the same stable descriptor/path identity and
136
- SHA-256 snapshot used for classification, and rechecks that snapshot before staging,
137
- before publication, and before success. Under the cooperative-workspace contract, any
138
- observable authority-path or byte drift preserves the current bytes and returns the
139
- typed retryable `preserved_north_star_changed` diagnostic. Other preserved or newly
140
- published Init paths use the same recovery rule and the typed retryable
141
- `initialization_snapshot_changed` diagnostic. This is detectable-drift protection, not
142
- a promise that Node filesystem calls can defend against a malicious operating-system-
143
- level replacement.
144
-
145
- For an accepted replacement:
146
-
147
- 1. preserve the current accepted file while drafting and validating the candidate;
148
- 2. challenge premise, falsifiers, causal chain, proxy failure, exclusions, and hard
149
- constraints independently;
150
- 3. show the owner the semantic delta and unresolved contradictions;
151
- 4. preserve a stable decision record with the owner's exact words, conversation scope,
152
- the model's responsibility for final wording, and a rule that future revisions do not
153
- inherit acceptance; record no timestamp the owner source did not provide;
154
- 5. atomically replace the canonical file;
155
- 6. record that dependent active Change traces are stale observations until Change
156
- reconciliation maps old `FP/NS/HC` references to the new revision.
157
-
158
- The cited decision fragment resolves exactly one rendered Markdown heading outside fenced
159
- code. That section carries each of these list fields exactly once with a nonempty value:
160
- `Conversation scope`, `Exact raw owner acceptance`, `Agency boundary`, `Time boundary`,
161
- and `Revision boundary`. The validator observes only their anchored presence, uniqueness,
162
- and nonempty bytes. It does not decide whether the quoted acceptance is genuine,
163
- sufficiently informed, or semantically adequate; those judgments remain with the owner
164
- and model.
165
-
166
- Never delete old task, review, Test, or delivery evidence because of supersession. Git
167
- preserves the old North Star revision; canonical consumers retain their historical
168
- revision and digest while current execution waits for explicit reconciliation.
@@ -1,50 +0,0 @@
1
- # Research wayfinding
2
-
3
- Use this method when Research spans several lenses or the path itself is unclear. Skip
4
- it for one bounded evidence question whose destination is already known.
5
-
6
- ## Objective
7
-
8
- Turn fog into a small question map without turning the map into workflow authority.
9
- Select the smallest sufficient coverage that can establish the current baseline or
10
- unlock the active Change.
11
-
12
- ## Inspect first
13
-
14
- Read the Project Brief, accepted authority, unresolved specification sections, current
15
- repository evidence, active Change, and owner statements already present. Do not ask a
16
- question whose answer is reachable in those sources.
17
-
18
- ## Write the run brief
19
-
20
- Write `.ultra/research/<run-id>/brief.md` with:
21
-
22
- - entry question and planning boundary;
23
- - known facts and their sources;
24
- - unknowns, each with the decision it can change;
25
- - selected lenses, semantic dependencies, and explicit omissions;
26
- - likely evidence sources and current freshness limits;
27
- - owner decisions and the checkpoint that owns each one;
28
- - a stop condition stated as an observable artifact or resolved decision.
29
-
30
- ## North Star Working Candidate
31
-
32
- In the same brief, keep the current candidate outcome, `FP-*` propositions, causal chain,
33
- evidence, counter-evidence, and the accepted `.ultra/north-star.md` revision and digest it
34
- began from. Update
35
- this section as lenses refine or contradict it. It is derived navigation and not semantic
36
- authority; only accepted synthesis can replace the canonical North Star.
37
-
38
- The brief is derived navigation, not semantic authority. Specifications, the North Star,
39
- `CONTEXT.md`, and accepted decisions remain canonical. Rebuild or discard the map when
40
- evidence changes; never add a completion flag merely to route another Skill.
41
-
42
- ## Keep the frontier small
43
-
44
- Prefer one load-bearing question over a speculative tree. Add a branch only when a
45
- viable answer would change selected evidence, product direction, scope, or architecture.
46
- Questions that cannot change the current boundary belong in explicit deferred work, not
47
- the active map.
48
-
49
- Wayfinding chooses where to investigate. Each evidence lens defines what to establish;
50
- Grilling defines how to ask the owner; Think resolves one consequential decision.