yaaw-se 0.3.11 → 0.3.13
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/dist/installer/migrations/index.d.ts +2 -2
- package/dist/installer/migrations/index.js +2 -2
- package/dist/installer/migrations/index.js.map +1 -1
- package/dist/installer/migrations/project/index.js +2 -1
- package/dist/installer/migrations/project/index.js.map +1 -1
- package/dist/installer/migrations/project/v2-to-v3.d.ts +2 -0
- package/dist/installer/migrations/project/v2-to-v3.js +56 -0
- package/dist/installer/migrations/project/v2-to-v3.js.map +1 -0
- package/dist/installer/plan.js +98 -268
- package/dist/installer/plan.js.map +1 -1
- package/dist/installer/project-state.js +3 -13
- package/dist/installer/project-state.js.map +1 -1
- package/dist/installer/status.js +67 -231
- package/dist/installer/status.js.map +1 -1
- package/dist/installer/transaction.js +58 -109
- package/dist/installer/transaction.js.map +1 -1
- package/dist/installer/types.d.ts +5 -2
- package/dist/installer/verify.js +27 -27
- package/dist/installer/verify.js.map +1 -1
- package/dist/payload/bootstrap/claude-code.md +6 -6
- package/dist/payload/bootstrap/cline.md +8 -8
- package/dist/payload/bootstrap/codex.md +7 -7
- package/dist/payload/bootstrap/gemini-cli.md +6 -6
- package/dist/payload/payload-files.json +97 -417
- package/dist/payload/payload.json +1 -1
- package/dist/payload/skills/yaaw-create-spec/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-create-ticket/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-create-tickets/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-implement/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-orchestrator/SKILL.md +2 -3
- package/dist/payload/skills/yaaw-planner/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-planning-review/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-prd/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-refine-prd/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-repair/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-review/SKILL.md +2 -6
- package/dist/payload/skills/yaaw-revise-prd/SKILL.md +2 -6
- package/dist/payload/yaaw-core/registries/skills.json +38 -0
- package/dist/payload/yaaw-core/system/SYSTEM.md +121 -0
- package/dist/payload/yaaw-core/system/engine/contracts.mjs +147 -0
- package/dist/payload/yaaw-core/system/engine/repository-identity.mjs +24 -0
- package/dist/payload/yaaw-core/system/engine/routing.mjs +153 -0
- package/dist/payload/yaaw-core/system/engine/runtime.mjs +66 -0
- package/dist/payload/yaaw-core/system/kernel.yaml +145 -0
- package/dist/payload/yaaw-core/system/modules/changeability.md +27 -0
- package/dist/payload/yaaw-core/system/roles/implementer.md +16 -12
- package/dist/payload/yaaw-core/system/roles/orchestrator.md +24 -14
- package/dist/payload/yaaw-core/system/roles/planner.md +37 -11
- package/dist/payload/yaaw-core/system/roles/prd.md +26 -18
- package/dist/payload/yaaw-core/system/roles/reviewer.md +16 -15
- package/dist/payload/yaaw-core/system/schemas/handoff.schema.json +24 -161
- package/dist/payload/yaaw-core/system/schemas/intent.schema.json +11 -64
- package/dist/payload/yaaw-core/system/schemas/observed-state.schema.json +12 -162
- package/dist/payload/yaaw-core/system/schemas/repository-identity.schema.json +12 -39
- package/dist/payload/yaaw-core/system/templates/evidence.json +1 -18
- package/dist/payload/yaaw-core/system/templates/handoff.json +11 -27
- package/dist/payload/yaaw-core/system/templates/intent.json +2 -2
- package/dist/payload/yaaw-core/system/templates/observed-state.json +5 -28
- package/dist/payload/yaaw-core/system/templates/review.md +2 -2
- package/package.json +5 -2
- package/dist/payload/yaaw-core/system/core/artifact-model.md +0 -43
- package/dist/payload/yaaw-core/system/core/authority.md +0 -21
- package/dist/payload/yaaw-core/system/core/context-loading.md +0 -56
- package/dist/payload/yaaw-core/system/core/dispatch-execution.md +0 -28
- package/dist/payload/yaaw-core/system/core/execution-context.md +0 -61
- package/dist/payload/yaaw-core/system/core/framework-integrity.md +0 -60
- package/dist/payload/yaaw-core/system/core/invalidation.md +0 -13
- package/dist/payload/yaaw-core/system/core/io-contract.md +0 -23
- package/dist/payload/yaaw-core/system/core/lifecycle.md +0 -23
- package/dist/payload/yaaw-core/system/core/recovery.md +0 -17
- package/dist/payload/yaaw-core/system/core/routing.md +0 -21
- package/dist/payload/yaaw-core/system/core/state-model.md +0 -14
- package/dist/payload/yaaw-core/system/core/transitions.md +0 -36
- package/dist/payload/yaaw-core/system/expertise/changeability/MODULE.md +0 -58
- package/dist/payload/yaaw-core/system/registries/artifacts.json +0 -99
- package/dist/payload/yaaw-core/system/registries/execution-policy.json +0 -169
- package/dist/payload/yaaw-core/system/registries/expertise.json +0 -47
- package/dist/payload/yaaw-core/system/registries/handoff-policy.json +0 -67
- package/dist/payload/yaaw-core/system/registries/paths.json +0 -18
- package/dist/payload/yaaw-core/system/registries/reconciliation-policy.json +0 -18
- package/dist/payload/yaaw-core/system/registries/role-io.json +0 -30
- package/dist/payload/yaaw-core/system/registries/routing-policy.json +0 -74
- package/dist/payload/yaaw-core/system/registries/skills.json +0 -110
- package/dist/payload/yaaw-core/system/registries/transitions.json +0 -178
- package/dist/payload/yaaw-core/system/registries/workflows.json +0 -38
- package/dist/payload/yaaw-core/system/rules/artifact-writing.md +0 -10
- package/dist/payload/yaaw-core/system/rules/assumption-challenge.md +0 -109
- package/dist/payload/yaaw-core/system/rules/changeability.md +0 -38
- package/dist/payload/yaaw-core/system/rules/durable-memory.md +0 -9
- package/dist/payload/yaaw-core/system/rules/question-format.md +0 -20
- package/dist/payload/yaaw-core/system/rules/recovery-evidence.md +0 -9
- package/dist/payload/yaaw-core/system/rules/repository-identity.md +0 -42
- package/dist/payload/yaaw-core/system/rules/research-admission.md +0 -30
- package/dist/payload/yaaw-core/system/rules/review-independence.md +0 -11
- package/dist/payload/yaaw-core/system/rules/ticket-sizing.md +0 -9
- package/dist/payload/yaaw-core/system/schemas/project-state.schema.json +0 -12
- package/dist/payload/yaaw-core/system/templates/project-state.json +0 -13
- package/dist/payload/yaaw-core/system/tools/orchestration-engine.mjs +0 -210
- package/dist/payload/yaaw-core/system/tools/orchestration-runtime.mjs +0 -46
- package/dist/payload/yaaw-core/system/tools/repository-identity.mjs +0 -92
- package/dist/payload/yaaw-core/system/workflows/implementation/implement-ticket.md +0 -18
- package/dist/payload/yaaw-core/system/workflows/implementation/repair-ticket.md +0 -17
- package/dist/payload/yaaw-core/system/workflows/implementation/select-ticket.md +0 -17
- package/dist/payload/yaaw-core/system/workflows/implementation/verify-ticket.md +0 -19
- package/dist/payload/yaaw-core/system/workflows/orchestration/determine-next-action.md +0 -24
- package/dist/payload/yaaw-core/system/workflows/orchestration/dispatch.md +0 -35
- package/dist/payload/yaaw-core/system/workflows/orchestration/inspect-state.md +0 -19
- package/dist/payload/yaaw-core/system/workflows/orchestration/reconcile-state.md +0 -19
- package/dist/payload/yaaw-core/system/workflows/orchestration/recover-interruption.md +0 -32
- package/dist/payload/yaaw-core/system/workflows/orchestration/route.md +0 -27
- package/dist/payload/yaaw-core/system/workflows/planning/create-spec.md +0 -21
- package/dist/payload/yaaw-core/system/workflows/planning/create-tickets.md +0 -50
- package/dist/payload/yaaw-core/system/workflows/planning/decision-frontier.md +0 -33
- package/dist/payload/yaaw-core/system/workflows/planning/discover.md +0 -21
- package/dist/payload/yaaw-core/system/workflows/planning/question-round.md +0 -22
- package/dist/payload/yaaw-core/system/workflows/planning/readiness-review.md +0 -33
- package/dist/payload/yaaw-core/system/workflows/planning/record-decisions.md +0 -19
- package/dist/payload/yaaw-core/system/workflows/planning/replan.md +0 -24
- package/dist/payload/yaaw-core/system/workflows/planning/research.md +0 -20
- package/dist/payload/yaaw-core/system/workflows/planning/route.md +0 -28
- package/dist/payload/yaaw-core/system/workflows/planning/write-understanding.md +0 -26
- package/dist/payload/yaaw-core/system/workflows/prd/create.md +0 -22
- package/dist/payload/yaaw-core/system/workflows/prd/question-round.md +0 -20
- package/dist/payload/yaaw-core/system/workflows/prd/readiness.md +0 -22
- package/dist/payload/yaaw-core/system/workflows/prd/record-decisions.md +0 -20
- package/dist/payload/yaaw-core/system/workflows/prd/refine.md +0 -15
- package/dist/payload/yaaw-core/system/workflows/prd/revise.md +0 -18
- package/dist/payload/yaaw-core/system/workflows/prd/route.md +0 -23
- package/dist/payload/yaaw-core/system/workflows/review/classify-findings.md +0 -17
- package/dist/payload/yaaw-core/system/workflows/review/inspect-change.md +0 -20
- package/dist/payload/yaaw-core/system/workflows/review/record-review.md +0 -19
- package/dist/payload/yaaw-core/system/workflows/review/review-ticket.md +0 -24
- /package/dist/payload/yaaw-core/system/{tools → engine}/frontmatter.mjs +0 -0
- /package/dist/payload/yaaw-core/system/{tools/framework-integrity.mjs → engine/integrity.mjs} +0 -0
- /package/dist/payload/yaaw-core/system/{expertise/frontend-design/MODULE.md → modules/frontend-design.md} +0 -0
- /package/dist/payload/yaaw-core/system/{expertise/python/MODULE.md → modules/python.md} +0 -0
- /package/dist/payload/yaaw-core/system/{expertise/security/MODULE.md → modules/security.md} +0 -0
- /package/dist/payload/yaaw-core/system/{expertise/testing/MODULE.md → modules/testing.md} +0 -0
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Orchestration main loop
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Continuously restore project reality and execute one safe canonical workflow at a time until the active intent is satisfied or a real stop occurs.
|
|
5
|
-
|
|
6
|
-
## Deterministic preparation
|
|
7
|
-
For normal continuation:
|
|
8
|
-
```text
|
|
9
|
-
node .yaaw-core/system/tools/orchestration-runtime.mjs --workspace <WORKSPACE_ROOT>
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
For a public shortcut:
|
|
13
|
-
```text
|
|
14
|
-
node .yaaw-core/system/tools/orchestration-runtime.mjs --workspace <WORKSPACE_ROOT> --invoke-skill <skill-id>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Procedure
|
|
18
|
-
Repeat:
|
|
19
|
-
1. run deterministic preparation once;
|
|
20
|
-
2. on `FRAMEWORK_STOP`, stop without lifecycle mutation;
|
|
21
|
-
3. on `RECONCILE_REQUIRED`, apply exactly one reconciliation with `--reconcile-one`, then observe again;
|
|
22
|
-
4. on `ROOT_ACTION`, execute only the returned Orchestrator recovery workflow, then observe again; `ROOT_ACTION` is reserved for evidence-backed interruption recovery, never ordinary `DRAFT` admission;
|
|
23
|
-
5. on `DISPATCH_READY`, execute exactly the persisted handoff once; a dependency-satisfied current `DRAFT` routes to Planner admission, not recovery;
|
|
24
|
-
6. after any worker outcome or disappearance, discard worker text as authority and observe durable reality again;
|
|
25
|
-
7. on `INTENT_COMPLETE`, `TERMINAL`, `BLOCKED`, or human input, stop.
|
|
26
|
-
|
|
27
|
-
No worker-to-worker authority chain exists. Every semantic successor is selected after reality reconstruction.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Create specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Materialize one coherent ready engineering frontier as a durable implementation contract.
|
|
5
|
-
|
|
6
|
-
## Preconditions
|
|
7
|
-
Current frontier readiness is `PASS`; its product/engineering revisions remain current; all blocking research is `RESOLVED`; the bounded frontier sections are complete.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Allocate the next `SPEC-NNN` and only now load/create from the canonical spec template.
|
|
11
|
-
2. Record metadata: revision, product revision, engineering revision, frontier ID, decision IDs, and status.
|
|
12
|
-
3. Write goal, repository context, boundaries, behavior, data/state, interfaces, failure modes, security, UX/accessibility, tests, observability, migration/compatibility, non-goals, risks, and acceptance conditions as relevant.
|
|
13
|
-
4. Reference `ENG-*` decisions and material `RSH-*` provenance rather than copying planning history.
|
|
14
|
-
5. Validate required metadata/sections and confirm no unresolved material decision was invented.
|
|
15
|
-
6. Mark spec `ACCEPTED`; otherwise leave `DRAFT`/route back to planning.
|
|
16
|
-
|
|
17
|
-
## Output
|
|
18
|
-
One current accepted spec or an explicit planning gap.
|
|
19
|
-
|
|
20
|
-
## Adoption
|
|
21
|
-
Planner writes the accepted spec only. Orchestrator detects the unique current accepted spec and adopts it into state on the next observation. Planner never writes `state.json`.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Create tickets
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Create bounded dependency-aware implementation contracts for one current accepted spec, and re-evaluate already-registered `DRAFT` tickets when their admission prerequisites may have changed.
|
|
5
|
-
|
|
6
|
-
## Preconditions
|
|
7
|
-
Source spec is `ACCEPTED`, product/engineering revisions remain current, planning status is `ready` with readiness `PASS`, and repository requirement `IDENTITY` is satisfied with repository status `READY`.
|
|
8
|
-
|
|
9
|
-
## Existing-ticket rule
|
|
10
|
-
Before allocating any new `TASK-NNN` ID, inspect current tickets for the active spec. A current `DRAFT` is an admission candidate, not evidence that ticket creation must start over.
|
|
11
|
-
|
|
12
|
-
Never duplicate an existing ticket merely because it is still `DRAFT`.
|
|
13
|
-
|
|
14
|
-
## Procedure
|
|
15
|
-
1. If exact repository identity is unavailable, return `PRECONDITION_UNSATISFIED:REPOSITORY_IDENTITY_UNAVAILABLE`; do not admit executable tickets.
|
|
16
|
-
2. Inspect current ticket artifacts and reconciled lifecycle state for the active spec before creating anything.
|
|
17
|
-
3. If routing supplied a current `DRAFT` ticket, re-evaluate that ticket first.
|
|
18
|
-
4. A `DRAFT` may become `READY` only when:
|
|
19
|
-
- its product, engineering, spec, and ticket revisions are current;
|
|
20
|
-
- planning remains `ready` with readiness `PASS`;
|
|
21
|
-
- every declared dependency is `PASS` in reconciled state;
|
|
22
|
-
- repository identity is current and trustworthy;
|
|
23
|
-
- its acceptance contract remains implementable without inventing product or engineering decisions; and
|
|
24
|
-
- any explicit execution prerequisite recorded in its status rationale is currently satisfied.
|
|
25
|
-
5. If the contract itself must change, do not disguise that as admission. Route through `planning.replan`, revise the contract with proper revision/invalidation semantics, then reassess admission.
|
|
26
|
-
6. If the contract is unchanged and admission now passes, update only the ticket artifact status from `DRAFT` to `READY`. Do not rewrite history and do not increment ticket revision solely for the lifecycle admission bit.
|
|
27
|
-
7. If dependencies are not yet `PASS`, keep the ticket `DRAFT`. Normal orchestration should continue the prerequisite ticket rather than repeatedly invoking Planner.
|
|
28
|
-
8. For genuinely missing work, split the accepted spec into coherent `TASK-NNN` units sized for a fresh Implementer.
|
|
29
|
-
9. Apply `.yaaw-core/system/rules/changeability.md` while defining boundaries.
|
|
30
|
-
10. Each ticket metadata records source spec/revision, product revision, engineering decision IDs, dependencies, expertise, ticket revision, and status.
|
|
31
|
-
11. Body records product requirements, relevant areas, required behavior, allowed scope, non-goals, acceptance criteria, required tests, relevant engineering/changeability constraints, and a precise status rationale when left `DRAFT`.
|
|
32
|
-
12. Ensure supporting refactors are admitted only when necessary for safe implementation or verification.
|
|
33
|
-
13. Validate ticket template/metadata before returning success.
|
|
34
|
-
|
|
35
|
-
## Durable admission fact
|
|
36
|
-
Planner owns the semantic decision that a ticket artifact is `READY`. Planner still never writes `state.json`.
|
|
37
|
-
|
|
38
|
-
After Planner persists `DRAFT -> READY` in the current ticket artifact, Orchestrator must observe that fact, validate the legal transition and current sources/dependencies/repository identity, then adopt exactly one `TICKET_ADMISSION` reconciliation into state.
|
|
39
|
-
|
|
40
|
-
Ticket frontmatter therefore does not directly override state. It proposes a Planner-owned durable fact that Orchestrator may adopt only when the admission contract is still valid.
|
|
41
|
-
|
|
42
|
-
## Output
|
|
43
|
-
Dependency-aware tickets requiring no planning-chat memory, plus one of:
|
|
44
|
-
- newly-created current ticket artifacts;
|
|
45
|
-
- an existing current `DRAFT` promoted to `READY`;
|
|
46
|
-
- an unchanged `DRAFT` with an exact prerequisite reason; or
|
|
47
|
-
- a typed prerequisite/blocker/replan result.
|
|
48
|
-
|
|
49
|
-
## Registration
|
|
50
|
-
Planner writes ticket artifacts only. Orchestrator registers new current tickets and adopts later Planner admission facts into `state.json` one reconciliation at a time, preventing duplicate ticket creation and preventing lifecycle jumps.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Decision frontier
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Own the canonical partition of known decisions, current implementation frontier, product gaps, blocking external research, and future fog.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product/engineering state, repository evidence/capability, research metadata, and `.yaaw-core/system/rules/assumption-challenge.md` plus `.yaaw-core/system/rules/research-admission.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
For each candidate decision or fact:
|
|
11
|
-
1. Are prerequisites settled?
|
|
12
|
-
2. Is it materially relevant to the next bounded implementation slice?
|
|
13
|
-
3. Can repository evidence answer it without the human?
|
|
14
|
-
4. Is it a product gap that must return to PRD/human authority?
|
|
15
|
-
5. Is it a routine reversible Planner decision that should be resolved internally?
|
|
16
|
-
6. Does it contradict an accepted `ENG-*` decision or repository fact?
|
|
17
|
-
7. Is it based on an unsupported assumption?
|
|
18
|
-
8. Is an external fact genuinely required now? If so, does it have a valid research-admission basis?
|
|
19
|
-
|
|
20
|
-
Persist exactly:
|
|
21
|
-
- **Known decisions**: settled and reusable.
|
|
22
|
-
- **Current frontier**: one bounded next slice with Goal, Included scope, Explicitly deferred work, Preconditions, Repository facts, Blocking engineering decisions, Blocking external research, Product gaps, and Readiness basis.
|
|
23
|
-
- **Future fog**: issues dependent on later evidence.
|
|
24
|
-
|
|
25
|
-
When a material external fact blocks the frontier, allocate/update one `RSH-NNN` from the research template with its admission basis. Do not perform the research in this workflow.
|
|
26
|
-
|
|
27
|
-
Assign/update a stable frontier ID. Only current-frontier decisions/research/product gaps may block readiness.
|
|
28
|
-
|
|
29
|
-
## Output
|
|
30
|
-
Durable bounded frontier plus zero or more admitted research artifacts. The next route is research, question-round, PRD, readiness, or READY as the persisted partition requires.
|
|
31
|
-
|
|
32
|
-
## Scope completion signal
|
|
33
|
-
Maintain `engineering.scope_status` on every meaningful frontier update. Use `UNKNOWN` when completion is not proven, `OPEN` when accepted product scope remains after this frontier, and `COMPLETE` only when durable product/planning evidence proves no accepted scope remains. Future ideas/non-goals do not keep accepted scope open.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Planning discovery
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Establish workspace/repository-backed engineering facts before asking technical questions or performing vendor-specific research.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product revision, existing engineering artifact, project rules, observed repository capability, relevant specs/tickets, repository/application files when available, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
- resolve workspace/repository context through `.yaaw-core/system/core/execution-context.md`;
|
|
11
|
-
- when repository status is `READY`, inspect with root-anchored, workspace-scoped commands;
|
|
12
|
-
- when status is `UNVERSIONED`, inspect filesystem/application reality without inventing Git history and record that limitation explicitly;
|
|
13
|
-
- inspect structure, language/framework/tooling, existing interfaces/data boundaries, tests, deployment/migration constraints, and relevant implementation areas;
|
|
14
|
-
- distinguish observed facts from assumptions;
|
|
15
|
-
- identify product requirements that interact with existing system constraints;
|
|
16
|
-
- apply the assumption-challenge rule to identify contradictions and challenge candidates;
|
|
17
|
-
- do not ask the user anything yet;
|
|
18
|
-
- do not perform vendor/framework web research yet; admission belongs to `planning.decision-frontier`.
|
|
19
|
-
|
|
20
|
-
## Output
|
|
21
|
-
Repository/system observations, assumptions, contradictions/constraints, challenge candidates, capability limitations, and evidence references for `planning.write-understanding`.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Engineering question round
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Resolve material engineering decisions at the current frontier without forcing fake precision into future fog.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product/engineering revisions, repository observations/evidence relevant to the current frontier, `.yaaw-core/system/rules/assumption-challenge.md`, and `.yaaw-core/system/rules/question-format.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Load only the current decision frontier plus the accepted product/engineering revisions and evidence needed to reason about it.
|
|
11
|
-
2. Apply the assumption-challenge rule to detect contradictions, unsupported engineering assumptions, premature architecture, and material scenario/failure/data/security/migration/testing/operability gaps.
|
|
12
|
-
3. Eliminate questions answerable from repository facts.
|
|
13
|
-
4. Eliminate routine reversible implementation decisions the Planner owns.
|
|
14
|
-
5. Eliminate questions whose prerequisites are unresolved or that belong in future fog.
|
|
15
|
-
6. If a question is actually a missing product decision, return it to PRD/human authority rather than inventing product intent.
|
|
16
|
-
7. Do not reopen settled `ENG-*` decisions without new evidence, contradiction, changed upstream intent, or explicit request.
|
|
17
|
-
8. Ask only currently answerable material engineering questions; prefer fewer high-leverage questions over a full batch.
|
|
18
|
-
9. Format at most 10 using `question-format.md`; include recommendation plus a short reason when analysis supports one and accept free-form alternatives.
|
|
19
|
-
10. Stop for human input.
|
|
20
|
-
|
|
21
|
-
## Output
|
|
22
|
-
A bounded current-frontier question round awaiting human answers.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Planning readiness review
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Use a fresh planning-review context to decide whether the next bounded frontier is implementable without invention.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product/engineering revisions, target frontier ID, relevant repository evidence/capability, all research artifacts referenced as blocking by the frontier, current project rules, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Primary question
|
|
10
|
-
Could a fresh Implementer execute the next frontier without inventing material product or architecture decisions?
|
|
11
|
-
|
|
12
|
-
## Supporting checks
|
|
13
|
-
- Is the frontier bounded and durably explicit?
|
|
14
|
-
- Does the contract depend on an untested material assumption?
|
|
15
|
-
- Is any blocking `RSH-*` still `PENDING`, `BLOCKED`, or stale?
|
|
16
|
-
- Does accepted engineering contradict repository evidence?
|
|
17
|
-
- Is terminology ambiguous enough to produce materially different implementations?
|
|
18
|
-
- Is an important failure or state transition undefined?
|
|
19
|
-
- Did Planning accidentally convert a product gap into an engineering decision?
|
|
20
|
-
- Are there hidden dependencies between current-frontier decisions?
|
|
21
|
-
- If the next route will create executable tickets, can trustworthy repository identity be obtained? If not, readiness cannot claim immediate implementation admission.
|
|
22
|
-
|
|
23
|
-
Apply the assumption-challenge rule without expanding scope or reopening settled decisions gratuitously.
|
|
24
|
-
|
|
25
|
-
## Results
|
|
26
|
-
- `PASS`: bounded frontier executable and no blocking research/product/engineering gap remains;
|
|
27
|
-
- `MISSING_DECISIONS`: Planner must resolve engineering questions;
|
|
28
|
-
- `PRODUCT_GAP`: return to PRD/human authority;
|
|
29
|
-
- `REPLAN`: accepted planning conflicts with later evidence;
|
|
30
|
-
- `BLOCKED`: required evidence/repository capability unavailable.
|
|
31
|
-
|
|
32
|
-
## Mutations
|
|
33
|
-
Record result, frontier ID, source revisions, reason, and evidence durably in `engineering.md`/state. A PASS is stale if its product/engineering/research basis changes.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Record engineering decisions
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Convert accepted engineering answers into durable, independently resumable decisions.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current engineering artifact, latest accepted engineering answers, current product authority, repository evidence, resolved research referenced by the frontier, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Validate the accepted answer against current repository facts and role authority.
|
|
11
|
-
2. If the answer changes or supplies missing product meaning, return `PRODUCT_GAP` to PRD/human authority.
|
|
12
|
-
3. If it conflicts with an accepted `ENG-*` decision, supersede that decision explicitly and execute invalidation/replan semantics.
|
|
13
|
-
4. Otherwise create/update `ENG-NNN` entries with Status, Decision, Reason, material rejected alternatives, implications, and product/repository/research provenance.
|
|
14
|
-
5. Increment engineering revision for material contract changes.
|
|
15
|
-
6. Record durable conclusions rather than the challenge/question transcript.
|
|
16
|
-
7. Mark the current frontier/readiness stale and return to `planning.route`; `planning.decision-frontier` must recompute the canonical frontier before another question round or readiness check.
|
|
17
|
-
|
|
18
|
-
## Output
|
|
19
|
-
Updated `engineering.md` with stable decision IDs/provenance and a stale frontier requiring recomputation.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Replan
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Repair an invalid engineering contract without erasing prior decisions or acceptance history.
|
|
5
|
-
|
|
6
|
-
## Preconditions
|
|
7
|
-
Repository evidence, product revision, review finding, or invalidation has made current planning materially insufficient.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Identify exact evidence and affected `ENG-*`/spec/ticket assumptions.
|
|
11
|
-
2. Mark superseded decisions explicitly; never overwrite their history.
|
|
12
|
-
3. Make new engineering decisions within current product authority and increment engineering revision.
|
|
13
|
-
4. Execute invalidation propagation to dependent specs/tickets/reviews.
|
|
14
|
-
5. Rebuild current decision frontier and rerun readiness before implementation resumes.
|
|
15
|
-
6. Revised tickets move through `DRAFT`/`READY` using legal transitions; never jump directly back to PASS.
|
|
16
|
-
|
|
17
|
-
## Output
|
|
18
|
-
Current engineering contract plus updated downstream admission state.
|
|
19
|
-
|
|
20
|
-
## Admission guard
|
|
21
|
-
|
|
22
|
-
Repository identity change alone is not sufficient reason to replan. Require stale source/contract revisions or Reviewer `REPLAN` evidence.
|
|
23
|
-
|
|
24
|
-
Planner may revise engineering/spec/ticket artifacts but never writes lifecycle state directly. Orchestrator observes the durable revised contract and applies legal admission/invalidation transitions.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Planning research
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Resolve exactly one admitted external engineering fact that blocks the current decision frontier.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Exact current `.yaaw-core/project/research/RSH-NNN.md`, current product/engineering revisions, current frontier ID, only relevant repository context, `.yaaw-core/system/rules/research-admission.md`, and selected expertise when admitted.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Require the research artifact status to be `PENDING` and its product/engineering/frontier basis to remain current.
|
|
11
|
-
2. Verify its vendor/framework/platform scope has a valid admission basis from `research-admission.md`.
|
|
12
|
-
3. Prefer official documentation, specifications, upstream source, first-party APIs, authoritative release notes, and package-registry metadata.
|
|
13
|
-
4. Source every material claim. Record version/date for version-sensitive facts and record conflicts rather than choosing silently.
|
|
14
|
-
5. If evidence is insufficient, mark the artifact `BLOCKED` and state exactly what proof is missing.
|
|
15
|
-
6. If resolved, record findings/source ledger and mark `RESOLVED`.
|
|
16
|
-
7. Do not create an `ENG-*` decision merely because research finished. Return to `planning.decision-frontier` so a fresh Planner promotes only relevant verified facts through normal planning.
|
|
17
|
-
8. Planner never spawns a research peer; this is a Planner workflow.
|
|
18
|
-
|
|
19
|
-
## Output
|
|
20
|
-
One durable `RESOLVED` or `BLOCKED` research artifact and a typed result to Orchestrator.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Planner route
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Choose and execute the next canonical planning workflow from durable product/planning/repository state.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product/engineering metadata, research/spec/ticket metadata, project rules, observed repository capability, current intent, and repository reality needed only for route selection.
|
|
8
|
-
|
|
9
|
-
## Progressive selection
|
|
10
|
-
Do not open candidate planning workflow bodies before one route is selected.
|
|
11
|
-
|
|
12
|
-
## Priority
|
|
13
|
-
1. missing/stale repository understanding -> execute `planning.discover`, then `planning.write-understanding`;
|
|
14
|
-
2. missing/stale decision frontier after understanding/decision changes -> `planning.decision-frontier`;
|
|
15
|
-
3. `REPLAN_REQUIRED` or invalidated contract -> `planning.replan`;
|
|
16
|
-
4. accepted human answers not yet recorded -> `planning.record-decisions`;
|
|
17
|
-
5. current frontier has admitted `PENDING` external research -> `planning.research`;
|
|
18
|
-
6. unresolved human-owned engineering decisions -> `planning.question-round`;
|
|
19
|
-
7. readiness not current -> `planning.readiness-review`;
|
|
20
|
-
8. readiness PASS but no current accepted spec -> `planning.create-spec`;
|
|
21
|
-
9. accepted spec lacks tickets, or a current dependency-satisfied `DRAFT` needs admission re-evaluation -> `planning.create-tickets`;
|
|
22
|
-
10. current `DRAFT` tickets whose dependencies are not yet `PASS` do not preempt runnable implementation/review work; normal orchestration continues their prerequisites;
|
|
23
|
-
11. otherwise return planning frontier `READY`.
|
|
24
|
-
|
|
25
|
-
After each selected workflow persists durable output, return to routing before loading another workflow.
|
|
26
|
-
|
|
27
|
-
## Execution
|
|
28
|
-
Resolve and execute selected workflow IDs through `.yaaw-core/system/registries/workflows.json`; do not merely report which one would run.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Write engineering understanding
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Create the durable repository-backed checkpoint from which a fresh Planner can continue.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Product interpretation, discovery observations, repository capability, and `.yaaw-core/system/rules/assumption-challenge.md` results.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
Update `.yaaw-core/project/engineering.md` using existing semantic sections:
|
|
11
|
-
- repository observations -> Existing system;
|
|
12
|
-
- unsupported beliefs -> Assumptions;
|
|
13
|
-
- actual unresolved decisions -> Unresolved questions;
|
|
14
|
-
- future-dependent issues -> Future fog;
|
|
15
|
-
- material dangers -> Risks;
|
|
16
|
-
- accepted engineering solutions -> `ENG-*` decisions;
|
|
17
|
-
- compatibility-critical structure -> Architecture spine.
|
|
18
|
-
|
|
19
|
-
Preserve repository capability limitations explicitly. Never store challenge/debate transcripts. Do not create vendor-specific research simply from available host skills.
|
|
20
|
-
|
|
21
|
-
Increment engineering revision when durable engineering understanding materially changes. Record provenance for repository observations and product dependencies.
|
|
22
|
-
|
|
23
|
-
After the durable write, mark the frontier as needing recomputation and return to `planning.route`; `planning.decision-frontier` owns the canonical partition.
|
|
24
|
-
|
|
25
|
-
## Output
|
|
26
|
-
Updated engineering artifact requiring frontier analysis or normal continuation.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Create PRD
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Initialize product memory and drive product discovery until the current frontier is ready or needs human answers.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Human's product goal, product template, current state, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. If the canonical YAAW layout is incomplete, create missing `.yaaw-core/project/`, `.yaaw-core/runtime/`, and required durable artifacts from `.yaaw-core/system/templates/`; never overwrite existing project memory.
|
|
11
|
-
2. If `product.md` is absent inside an existing `.yaaw-core/project/`, create it from the canonical template and set product state to `draft`.
|
|
12
|
-
3. Capture the supplied goal without technicalizing it.
|
|
13
|
-
4. Identify the highest-value unresolved product questions by applying the assumption-challenge rule to the supplied goal and any already-accepted product context.
|
|
14
|
-
5. Execute `prd.question-round`; do not create a second interrogation loop in this workflow.
|
|
15
|
-
6. After every human response execute `prd.record-decisions` before asking more.
|
|
16
|
-
7. Execute `prd.readiness` when no material product ambiguity blocks the next engineering frontier.
|
|
17
|
-
|
|
18
|
-
## Mutations
|
|
19
|
-
Product artifact, product status, bootstrap state when required, and state-transition provenance.
|
|
20
|
-
|
|
21
|
-
## Output
|
|
22
|
-
Updated product artifact plus either human questions or a readiness result.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# PRD question round
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Resolve only the material product unknowns visible at the current frontier.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current `product.md`, unresolved product questions, `.yaaw-core/system/rules/assumption-challenge.md`, and `.yaaw-core/system/rules/question-format.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Apply the assumption-challenge rule to accepted product truth and the unresolved product frontier.
|
|
11
|
-
2. Detect material contradictions, ambiguous terminology, unsupported product assumptions, premature abstractions, and important scenario/failure/edge gaps.
|
|
12
|
-
3. Exclude questions whose prerequisites remain unresolved.
|
|
13
|
-
4. Exclude engineering-only questions unless the human explicitly made implementation a product constraint.
|
|
14
|
-
5. Rank only material current-frontier product questions; prefer fewer high-leverage questions over a full batch.
|
|
15
|
-
6. Format at most 10 questions using `question-format.md`; use options, recommendation, and a short reason when useful.
|
|
16
|
-
7. Treat free-form answers as first-class and never force the offered options.
|
|
17
|
-
8. Stop for human answers.
|
|
18
|
-
|
|
19
|
-
## Output
|
|
20
|
-
A bounded question round awaiting human answers. Do not mutate accepted decisions before answers arrive.
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# PRD readiness
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Decide whether a fresh Planner can safely begin the next engineering frontier.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current `product.md`, current accepted scope, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Decision
|
|
10
|
-
Ask both:
|
|
11
|
-
1. Can a fresh Planner understand the goal, users, expected behavior, scope, constraints, non-goals, and remaining product unknowns without the original chat?
|
|
12
|
-
2. Are there any material product assumptions, contradictions, or ambiguous terms in the current engineering frontier that would force a fresh Planner to invent product intent?
|
|
13
|
-
|
|
14
|
-
Return:
|
|
15
|
-
- `READY` when intent is sufficient for the next engineering frontier and the second answer is no;
|
|
16
|
-
- `NEEDS_QUESTIONS` when material current-frontier product ambiguity remains;
|
|
17
|
-
- `BLOCKED` when required human/product evidence is unavailable.
|
|
18
|
-
|
|
19
|
-
Future fog is allowed. Readiness does not require every future product question to be solved.
|
|
20
|
-
|
|
21
|
-
## Mutations
|
|
22
|
-
On `READY`, mark product/state ready with current product revision. Do not claim every future requirement is known.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Record PRD decisions
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Turn human answers into durable product truth before conversation continues.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product artifact, latest human answers, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Interpret only what the answers support and validate the conclusion against PRD product authority.
|
|
11
|
-
2. Persist supported meaning in the relevant product sections and accepted product decisions; record conclusions rather than challenge/question transcripts.
|
|
12
|
-
3. Remove settled questions and check the accepted answer for impact on previous accepted product decisions, scope, constraints, behavior, and non-goals.
|
|
13
|
-
4. Preserve explicit corrections and non-goals; if a contradiction/correction changes accepted meaning, update product truth explicitly rather than silently merging both meanings.
|
|
14
|
-
5. Increment product `revision` and record provenance only when accepted product meaning materially changes.
|
|
15
|
-
6. If downstream planning/spec/ticket artifacts already depend on changed intent, execute the invalidation policy in `.yaaw-core/system/core/invalidation.md`.
|
|
16
|
-
7. Reapply the assumption-challenge rule to discover newly exposed questions and recompute the unresolved current product frontier.
|
|
17
|
-
8. Only after the durable write and frontier recomputation may another question round begin.
|
|
18
|
-
|
|
19
|
-
## Output
|
|
20
|
-
Updated `product.md`, product revision/status, recomputed unresolved product frontier, and any invalidation result.
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# Refine PRD
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Improve clarity/completeness without changing accepted product meaning.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current product artifact, requested clarification/cleanup, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
Consolidate duplicates, sharpen language, organize behavior/non-goals, and surface unresolved questions. Apply assumption challenging only to distinguish wording ambiguity from a genuine semantic contradiction. Preserve semantic meaning and product revision.
|
|
11
|
-
|
|
12
|
-
If assumption challenging exposes a genuine semantic contradiction or an edit would change accepted behavior, scope, constraints, or non-goals, do not silently resolve it during refinement; stop refinement and execute `prd.revise` instead.
|
|
13
|
-
|
|
14
|
-
## Output
|
|
15
|
-
Clearer product artifact with unchanged semantic revision unless the workflow switches to revision.
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Revise PRD
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Change already accepted product intent while preserving history and invalidating stale downstream trust.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current accepted product revision, explicit human-requested change, and `.yaaw-core/system/rules/assumption-challenge.md`.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Identify the exact old requirement and requested new intent.
|
|
11
|
-
2. Apply the assumption-challenge rule to the requested intent: test impact on accepted behavior, scope/non-goals, constraints, contradictions, and newly exposed product questions.
|
|
12
|
-
3. Resolve only product-semantic issues under PRD/human authority; do not convert the revision into engineering design.
|
|
13
|
-
4. Update `product.md`, increment product revision, and record the change/provenance.
|
|
14
|
-
5. Execute `.yaaw-core/system/core/invalidation.md` against dependent engineering decisions, specs, tickets, and reviews.
|
|
15
|
-
6. Mark product `draft` if new material current-frontier questions remain; otherwise run `prd.readiness`.
|
|
16
|
-
|
|
17
|
-
## Boundary
|
|
18
|
-
Assumption challenging does not bypass explicit revision semantics. Do not rewrite engineering decisions yourself; invalidate their basis and return ownership to Planner.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# PRD route
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Choose and execute the next product-definition workflow from current product state and the human's request.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
`.yaaw-core/project/product.md` if present, `.yaaw-core/project/state.json`, current request, and relevant accepted product history.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. Classify exactly one route:
|
|
11
|
-
- missing product -> `prd.create`;
|
|
12
|
-
- draft product with unresolved questions -> `prd.question-round`;
|
|
13
|
-
- clarity-only cleanup requested -> `prd.refine`;
|
|
14
|
-
- accepted intent change requested -> `prd.revise`;
|
|
15
|
-
- sufficient current intent -> terminal PRD result `READY`.
|
|
16
|
-
2. For a workflow route, resolve the canonical ID through `.yaaw-core/system/registries/workflows.json` and execute it; do not stop after classification.
|
|
17
|
-
3. After the workflow writes durable output, re-evaluate product state or return control to Orchestrator.
|
|
18
|
-
|
|
19
|
-
## Output
|
|
20
|
-
Either one executed canonical PRD workflow or `READY` with the current product revision.
|
|
21
|
-
|
|
22
|
-
## Stop conditions
|
|
23
|
-
Stop for human answers when material product ambiguity remains. Never infer engineering implementation choices as product intent.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Classify findings
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Convert concrete review evidence into one authoritative outcome.
|
|
5
|
-
|
|
6
|
-
## Classification
|
|
7
|
-
- `PASS`: current contract satisfied with adequate evidence.
|
|
8
|
-
- `REPAIR`: implementation defect; ticket/spec remain valid. This includes bounded changeability defects supported by concrete engineering impact.
|
|
9
|
-
- `REPLAN`: ticket/spec/engineering contract is materially invalid or insufficient.
|
|
10
|
-
- `BLOCKED`: required evidence is unavailable.
|
|
11
|
-
|
|
12
|
-
## Findings
|
|
13
|
-
Assign durable `F-NNN` IDs and severity. Each finding records category, concrete evidence, expected behavior/property, actual behavior/implementation, and required repair/replan action.
|
|
14
|
-
|
|
15
|
-
For changeability findings, also record the violated principle and why the issue is more than a style preference. Valid categories include `CORRECTNESS`, `SECURITY`, `REGRESSION`, `CONTRACT`, `CHANGEABILITY`, `TESTING`, `COMPATIBILITY`, and `UX`.
|
|
16
|
-
|
|
17
|
-
Do not choose `REPAIR` when satisfying the finding requires changing accepted product/architecture meaning. Do not fail a review for personal style preference alone.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Inspect change
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Build an evidence-grounded view of the actual implementation to review.
|
|
5
|
-
|
|
6
|
-
## Inputs
|
|
7
|
-
Current ticket/spec/product/engineering revisions, repository status `READY` plus exact workspace-scoped identity, actual repository state, project rules, verification evidence, and relevant expertise.
|
|
8
|
-
|
|
9
|
-
## Procedure
|
|
10
|
-
1. If repository status is not `READY`, return `BLOCKED`/`PRECONDITION_UNSATISFIED:REPOSITORY_IDENTITY_UNAVAILABLE`; do not review against ambiguous identity.
|
|
11
|
-
2. Revalidate source revisions and reject stale review inputs.
|
|
12
|
-
3. Compute/record repository identity using `rules/repository-identity.md` and the canonical utility.
|
|
13
|
-
4. Inspect actual diff/files/tests/evidence; ignore implementation summaries when they conflict with observed work.
|
|
14
|
-
5. Identify acceptance criteria, failure paths, regressions, and domain-specific requirements that must be checked.
|
|
15
|
-
|
|
16
|
-
## Output
|
|
17
|
-
Review inspection tied to exact repository and contract identity.
|
|
18
|
-
|
|
19
|
-
## Repository basis
|
|
20
|
-
Obtain repository identity from `.yaaw-core/system/tools/repository-identity.mjs`. Do not whitelist `.codex`, `.agents`, provider directories, or project/application files merely by path ownership. Only replaceable `.yaaw-core/runtime/**` coordination caches are excluded by the canonical identity algorithm so orchestration cannot invalidate its own handoff basis.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Record review
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Persist immutable Reviewer-owned acceptance history and return the authorized lifecycle outcome to Orchestrator without writing the state ledger directly.
|
|
5
|
-
|
|
6
|
-
## Procedure
|
|
7
|
-
1. Create the next immutable `.yaaw-core/project/reviews/TASK-NNN-RK.md` from the review template.
|
|
8
|
-
2. Frontmatter records ticket/review round, result, ticket/spec revisions, reviewed repository identity, and evidence references.
|
|
9
|
-
3. Body records findings, verification, evidence interpretation, and next action.
|
|
10
|
-
4. Never overwrite prior review rounds.
|
|
11
|
-
5. Select exactly one legal semantic outcome:
|
|
12
|
-
- `PASS` authorizes target ticket state `PASS`;
|
|
13
|
-
- `REPAIR` authorizes `REPAIR_REQUIRED`;
|
|
14
|
-
- `REPLAN` authorizes `REPLAN_REQUIRED`;
|
|
15
|
-
- `BLOCKED` authorizes `BLOCKED`.
|
|
16
|
-
6. Reviewer writes only the immutable review artifact and returns the typed result. Reviewer does not edit `.yaaw-core/project/state.json`.
|
|
17
|
-
7. Orchestrator re-inspects the new review, validates source/repository/evidence freshness, and records exactly the authorized transition plus provenance in `state.json`. Orchestrator may not substitute a different acceptance outcome.
|
|
18
|
-
|
|
19
|
-
A prior PASS remains historical but becomes stale when repository/source revisions invalidate its basis.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Review ticket
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Independently determine whether current implementation satisfies the current ticket contract.
|
|
5
|
-
|
|
6
|
-
## Preconditions
|
|
7
|
-
`.yaaw-core/project/state.json` is admitted read-only context. Its `tickets[TASK-NNN]` lifecycle value is authoritative for workflow admission and is `REVIEW_REQUIRED`, unless Orchestrator explicitly admitted a source-current stale-`PASS` acceptance revalidation.
|
|
8
|
-
|
|
9
|
-
Ticket frontmatter `status` is artifact metadata/admission history and may still say `READY` or another earlier value after later lifecycle transitions. It does not override the reconciled state ledger. Source revisions and evidence must still be current enough to review.
|
|
10
|
-
|
|
11
|
-
If state and stronger source/repository/evidence reality materially conflict, return `BLOCKED` with the exact conflict for Orchestrator reconciliation. Do not edit state.
|
|
12
|
-
|
|
13
|
-
## Procedure
|
|
14
|
-
1. Use a fresh review context when practical.
|
|
15
|
-
2. Execute `review.inspect-change`.
|
|
16
|
-
3. Check every acceptance criterion and required test/evidence.
|
|
17
|
-
4. Inspect regressions, failure paths, security, UX/accessibility, migration, and compatibility when relevant.
|
|
18
|
-
5. Apply `.yaaw-core/system/rules/changeability.md` to the changed surface. Assess only materially relevant principles and distinguish concrete engineering defects from style preferences.
|
|
19
|
-
6. For any blocking changeability finding, record the principle, concrete location/evidence, expected property, actual implementation, engineering impact, and bounded repair/replan action.
|
|
20
|
-
7. Execute `review.classify-findings`.
|
|
21
|
-
8. Execute `review.record-review`.
|
|
22
|
-
|
|
23
|
-
## Output
|
|
24
|
-
Exactly one result: `PASS`, `REPAIR`, `REPLAN`, or `BLOCKED`. Style preference alone cannot produce a failing result.
|
|
File without changes
|
/package/dist/payload/yaaw-core/system/{tools/framework-integrity.mjs → engine/integrity.mjs}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|