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.
- package/CHANGELOG.md +103 -3
- package/README.md +67 -478
- package/README.zh-CN.md +49 -422
- package/adapters/_shared/frontmatter.cjs +1 -18
- package/adapters/_shared/plugin-core.cjs +17 -83
- package/adapters/_shared/runtime-assets.cjs +6 -120
- package/adapters/claude.js +8 -24
- package/adapters/codex.js +13 -32
- package/bin/install.js +35 -57
- package/docs/PLUGIN-ISOLATION-CONTRACT.md +13 -101
- package/docs/examples/drive/claude-reviewer.sh +53 -0
- package/docs/examples/drive/claude-writer.sh +43 -0
- package/engine/FORMATS.md +1051 -0
- package/engine/checks.cjs +139 -0
- package/engine/cli.cjs +148 -0
- package/engine/completion.cjs +48 -0
- package/engine/context.cjs +94 -0
- package/engine/drive.cjs +220 -0
- package/engine/expect-worker.cjs +5 -0
- package/engine/expect.cjs +33 -0
- package/engine/formats.cjs +189 -0
- package/engine/git-state.cjs +112 -0
- package/engine/ledger.cjs +205 -0
- package/engine/loading.cjs +28 -0
- package/engine/merge.cjs +273 -0
- package/engine/milestone.cjs +89 -0
- package/engine/plan.cjs +232 -0
- package/engine/project.cjs +5 -0
- package/engine/signals.cjs +3 -0
- package/engine/states.cjs +175 -0
- package/hooks/session-start.cjs +54 -0
- package/package.json +17 -52
- package/skills/ultra/SKILL.md +395 -0
- package/.ultra-template/changes/abandoned/.gitkeep +0 -0
- package/.ultra-template/changes/active/.gitkeep +0 -1
- package/.ultra-template/changes/archive/.gitkeep +0 -1
- package/.ultra-template/contexts/TEMPLATE.md +0 -135
- package/.ultra-template/decisions/.gitkeep +0 -1
- package/.ultra-template/evidence/.gitkeep +0 -1
- package/.ultra-template/north-star.md +0 -52
- package/.ultra-template/project-brief.md +0 -28
- package/.ultra-template/research/.gitkeep +0 -1
- package/.ultra-template/specs/architecture.md +0 -81
- package/.ultra-template/specs/discovery.md +0 -74
- package/.ultra-template/specs/product.md +0 -80
- package/.ultra-template/specs/research-distillate.md +0 -57
- package/.ultra-template/tasks.json +0 -4
- package/.ultra-template/test-report.json +0 -44
- package/adapters/_shared/host-profile.cjs +0 -5
- package/adapters/grok.js +0 -242
- package/adapters/kimi.js +0 -232
- package/adapters/opencode.js +0 -408
- package/adapters/zcode.js +0 -375
- package/bin/delegate-worker.cjs +0 -5
- package/bin/delegate.cjs +0 -5
- package/docs/ARCHITECTURE.md +0 -274
- package/docs/ARTIFACT-AUTHORITY.md +0 -305
- package/docs/DECISIONS.md +0 -229
- package/docs/PHILOSOPHY.md +0 -261
- package/docs/RUNTIME-COMPAT-MATRIX.md +0 -316
- package/docs/SKILL-AUTHORING.md +0 -113
- package/docs/WORKFLOW-LIFECYCLE.md +0 -350
- package/docs/evals/adversarial-review-2026-08-14.md +0 -84
- package/docs/evals/ultra-5-0-journey-results.md +0 -62
- package/docs/evals/ultra-5-0-live-acp-conformance.md +0 -93
- package/docs/evals/ultra-5-0-route-journeys.md +0 -145
- package/docs/evals/zcode-automation-2026-08-14.md +0 -103
- package/hooks/README.md +0 -52
- package/hooks/_common.py +0 -1779
- package/hooks/adapters/codex.py +0 -295
- package/hooks/adapters/grok.py +0 -134
- package/hooks/adapters/kimi.py +0 -156
- package/hooks/adapters/zcode.py +0 -227
- package/hooks/block_dangerous_commands.py +0 -201
- package/hooks/compact_context.py +0 -224
- package/hooks/mid_workflow_recall.py +0 -47
- package/hooks/post_edit_guard.py +0 -215
- package/hooks/session_context.py +0 -741
- package/skills/ultra-change/SKILL.md +0 -165
- package/skills/ultra-change/references/change-contract.md +0 -199
- package/skills/ultra-change/references/execution-grant.md +0 -109
- package/skills/ultra-change/references/primary-transfer.md +0 -273
- package/skills/ultra-change/scripts/validate_primary_transfer.cjs +0 -1928
- package/skills/ultra-delegate/SKILL.md +0 -195
- package/skills/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch +0 -184
- package/skills/ultra-delegate/references/delegation-contract.md +0 -138
- package/skills/ultra-delegate/scripts/acp-conformance.cjs +0 -287
- package/skills/ultra-delegate/scripts/acp-driver.cjs +0 -762
- package/skills/ultra-delegate/scripts/agent-execution-driver.cjs +0 -320
- package/skills/ultra-delegate/scripts/cli-driver.cjs +0 -61
- package/skills/ultra-delegate/scripts/delegate-profiles/kimi-read-only.md +0 -15
- package/skills/ultra-delegate/scripts/delegate-profiles/kimi-write.md +0 -17
- package/skills/ultra-delegate/scripts/delegate-worker.cjs +0 -328
- package/skills/ultra-delegate/scripts/delegate.cjs +0 -690
- package/skills/ultra-delegate/scripts/delegate_wait.py +0 -86
- package/skills/ultra-delegate/scripts/host-profile.cjs +0 -267
- package/skills/ultra-deliver/SKILL.md +0 -194
- package/skills/ultra-deliver/references/baseline-reconciliation.md +0 -41
- package/skills/ultra-dev/SKILL.md +0 -265
- package/skills/ultra-dev/references/debugging.md +0 -22
- package/skills/ultra-domain-modeling/SKILL.md +0 -79
- package/skills/ultra-grilling/SKILL.md +0 -121
- package/skills/ultra-grilling/references/reframing.md +0 -76
- package/skills/ultra-init/SKILL.md +0 -143
- package/skills/ultra-init/references/brownfield-adoption.md +0 -32
- package/skills/ultra-init/scripts/init_project.cjs +0 -1031
- package/skills/ultra-plan/SKILL.md +0 -160
- package/skills/ultra-plan/references/task-evidence-v2.md +0 -300
- package/skills/ultra-plan/scripts/validate_task_evidence.cjs +0 -859
- package/skills/ultra-research/SKILL.md +0 -167
- package/skills/ultra-research/references/00-problem-validation.md +0 -36
- package/skills/ultra-research/references/01-opportunity-discovery.md +0 -33
- package/skills/ultra-research/references/02-market-assessment.md +0 -31
- package/skills/ultra-research/references/03-alternatives.md +0 -31
- package/skills/ultra-research/references/04-product-strategy.md +0 -41
- package/skills/ultra-research/references/05-assumptions-validation.md +0 -31
- package/skills/ultra-research/references/10-user-personas.md +0 -30
- package/skills/ultra-research/references/11-user-scenarios.md +0 -28
- package/skills/ultra-research/references/20-user-stories.md +0 -31
- package/skills/ultra-research/references/21-features-scope.md +0 -38
- package/skills/ultra-research/references/22-success-metrics.md +0 -33
- package/skills/ultra-research/references/30-architecture-context.md +0 -30
- package/skills/ultra-research/references/31-solution-strategy.md +0 -28
- package/skills/ultra-research/references/32-building-blocks.md +0 -28
- package/skills/ultra-research/references/40-deployment.md +0 -29
- package/skills/ultra-research/references/41-quality-risks.md +0 -28
- package/skills/ultra-research/references/99-synthesis.md +0 -59
- package/skills/ultra-research/references/north-star-v2.md +0 -168
- package/skills/ultra-research/references/wayfinding.md +0 -50
- package/skills/ultra-research/scripts/validate_north_star.cjs +0 -1174
- package/skills/ultra-review/SKILL.md +0 -275
- package/skills/ultra-review/references/adversarial-evaluation.md +0 -31
- package/skills/ultra-review/references/code.md +0 -17
- package/skills/ultra-review/references/comments.md +0 -12
- package/skills/ultra-review/references/design.md +0 -12
- package/skills/ultra-review/references/errors.md +0 -13
- package/skills/ultra-review/references/review-modes.md +0 -29
- package/skills/ultra-review/references/spec.md +0 -18
- package/skills/ultra-review/references/tests.md +0 -12
- package/skills/ultra-review/references/unified-schema.md +0 -284
- package/skills/ultra-review/references/worker-packet.md +0 -183
- package/skills/ultra-review/scripts/review_wait.py +0 -2943
- package/skills/ultra-status/SKILL.md +0 -209
- package/skills/ultra-status/references/route-contract.md +0 -100
- package/skills/ultra-tdd/SKILL.md +0 -91
- package/skills/ultra-tdd/references/templates/README.md +0 -20
- package/skills/ultra-tdd/references/templates/feature-flag-default-audit.sh +0 -79
- package/skills/ultra-tdd/references/templates/persistence-real.ts +0 -78
- package/skills/ultra-tdd/references/templates/testcontainer-postgres.py +0 -78
- package/skills/ultra-tdd/references/templates/testcontainer-postgres.ts +0 -73
- package/skills/ultra-tdd/references/templates/vertical-slice.ts +0 -66
- package/skills/ultra-tdd/references/test-execution.md +0 -23
- package/skills/ultra-test/SKILL.md +0 -244
- package/skills/ultra-test/references/export-syntax.md +0 -18
- package/skills/ultra-test/scripts/validate_review_transport.cjs +0 -549
- package/skills/ultra-test/scripts/worktree_digest.cjs +0 -576
- package/skills/ultra-think/SKILL.md +0 -56
- package/skills/ultra-think/references/autonomy-boundary.md +0 -48
- 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.
|