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,36 +0,0 @@
|
|
|
1
|
-
# State transition contract
|
|
2
|
-
|
|
3
|
-
Only transitions represented by the machine registry are legal.
|
|
4
|
-
|
|
5
|
-
In the machine registry, `owner` is the semantic decision authority and `state_writer` is the role permitted to persist the resulting lifecycle mutation. Project-state ledger writes are performed by Orchestrator after validating the durable basis. This does not transfer product, planning, implementation, or acceptance authority to Orchestrator.
|
|
6
|
-
|
|
7
|
-
The machine-readable transition table used by conformance tests lives in `.yaaw-core/system/registries/transitions.json`. This document remains the human-readable explanation and CI checks the registry against workflow IDs and the project-state schema.
|
|
8
|
-
|
|
9
|
-
## Ticket transitions
|
|
10
|
-
| From | To | Owner/workflow | Required basis |
|
|
11
|
-
|---|---|---|---|
|
|
12
|
-
| DRAFT | READY | Planner | current spec/frontier valid; dependencies satisfied |
|
|
13
|
-
| DRAFT | CANCELLED | Planner/Human | scope removed |
|
|
14
|
-
| READY | IN_PROGRESS | Implementer | ticket selected; source revisions still current |
|
|
15
|
-
| READY | REPLAN_REQUIRED | Orchestrator/Planner | source invalidation or contradictory evidence |
|
|
16
|
-
| IN_PROGRESS | REVIEW_REQUIRED | Implementer or recovery | implementation exists; required verification evidence recorded |
|
|
17
|
-
| IN_PROGRESS | REPLAN_REQUIRED | Implementer/Reviewer/Orchestrator | material contract gap |
|
|
18
|
-
| IN_PROGRESS | BLOCKED | active role | required external evidence/permission unavailable |
|
|
19
|
-
| REVIEW_REQUIRED | PASS | Reviewer | fresh PASS review tied to current repository/ticket/spec revisions |
|
|
20
|
-
| REVIEW_REQUIRED | REPAIR_REQUIRED | Reviewer | implementation defect; contract remains valid |
|
|
21
|
-
| REVIEW_REQUIRED | REPLAN_REQUIRED | Reviewer | contract/architecture invalid or insufficient |
|
|
22
|
-
| REVIEW_REQUIRED | BLOCKED | Reviewer | review evidence unavailable |
|
|
23
|
-
| REPAIR_REQUIRED | REVIEW_REQUIRED | Implementer | required repair applied and reverified |
|
|
24
|
-
| REPAIR_REQUIRED | REPLAN_REQUIRED | Implementer | repair would change accepted contract |
|
|
25
|
-
| REPLAN_REQUIRED | DRAFT | Planner | contract revised but not yet re-admitted |
|
|
26
|
-
| REPLAN_REQUIRED | READY | Planner | revised contract passes readiness and dependencies |
|
|
27
|
-
| BLOCKED | DRAFT/READY/IN_PROGRESS/REVIEW_REQUIRED/REPAIR_REQUIRED/REPLAN_REQUIRED | owning role | blocker resolved and prior valid boundary proven |
|
|
28
|
-
| PASS | REVIEW_REQUIRED | Orchestrator recovery | source contract remains current but review/verification repository basis is missing, stale, or unverifiable |
|
|
29
|
-
| PASS | REPLAN_REQUIRED | Orchestrator/Planner | upstream source/contract revision invalidates current acceptance |
|
|
30
|
-
| PASS | CANCELLED | Human/Planner | accepted scope explicitly removed; history preserved |
|
|
31
|
-
|
|
32
|
-
Repository identity mismatch alone does not establish `REPLAN_REQUIRED`.
|
|
33
|
-
|
|
34
|
-
Forbidden examples: `DRAFT -> PASS`, `READY -> PASS`, `REPAIR_REQUIRED -> PASS`, or Implementer-authored `PASS`.
|
|
35
|
-
|
|
36
|
-
Every transition increments `transition_sequence` and records a stable cause plus evidence. Historical PASS reviews remain immutable even when their authority becomes stale.
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Changeability expertise
|
|
2
|
-
|
|
3
|
-
Use this module when a ticket, design, or review has non-trivial maintainability implications. The canonical mandatory policy is `.yaaw-core/system/rules/changeability.md`; this module provides deeper reasoning and examples, not additional authority.
|
|
4
|
-
|
|
5
|
-
## Goal
|
|
6
|
-
Optimize the changed surface for future comprehension, modification, verification, and rollback while preserving the current product/spec/ticket contract and repository conventions.
|
|
7
|
-
|
|
8
|
-
## Reasoning sequence
|
|
9
|
-
1. Identify the actual domain behavior being changed.
|
|
10
|
-
2. Identify the minimum authorized code surface needed to implement it safely.
|
|
11
|
-
3. Locate relevant boundaries, state models, decision logic, errors, and tests.
|
|
12
|
-
4. Apply only the changeability principles that materially affect that surface.
|
|
13
|
-
5. Prefer the smallest design that removes concrete ambiguity/coupling/risk.
|
|
14
|
-
6. Verify behavior and the relevant structural property.
|
|
15
|
-
7. Leave unrelated cleanup out of scope.
|
|
16
|
-
|
|
17
|
-
## Principle heuristics
|
|
18
|
-
|
|
19
|
-
### Visible main path
|
|
20
|
-
Ask whether a fresh engineer can identify the success path quickly. Consider guard clauses, decomposition, or clearer branching when exceptional cases bury the operation. Avoid style-only rewrites.
|
|
21
|
-
|
|
22
|
-
### Domain naming
|
|
23
|
-
Ask whether important names expose what the value or operation means in this application. Generic names are acceptable for genuinely generic/local mechanics; they are weak when they hide a known domain concept.
|
|
24
|
-
|
|
25
|
-
### External boundaries
|
|
26
|
-
Look for provider SDK types, remote field names, transport objects, ORM/persistence records, or protocol-specific errors escaping into business code. Prefer adapters/mappers/ports where the accepted architecture benefits from containment.
|
|
27
|
-
|
|
28
|
-
### Invalid states
|
|
29
|
-
Look for broad optional structures, boolean combinations, unchecked sentinel values, or repeated `if value exists` logic that represent domain states poorly. Prefer explicit state variants, constructors, validators, schemas, or invariants when they materially reduce impossible combinations.
|
|
30
|
-
|
|
31
|
-
### Decisions versus actions
|
|
32
|
-
Look for important policy mixed into database/network/email/filesystem operations. Extracting decision logic is valuable when it improves deterministic tests and clarity; do not force a functional style where side effects are the actual domain operation.
|
|
33
|
-
|
|
34
|
-
### Useful failures
|
|
35
|
-
Prefer stable error identity plus human-readable meaning and safe context. Preserve local error conventions. Never improve diagnostics by exposing secrets or sensitive payloads.
|
|
36
|
-
|
|
37
|
-
### Focused changes
|
|
38
|
-
Treat scope control as the limiter on every other principle. A discovered smell is not automatically part of the ticket. Supporting refactors must be necessary for safe implementation or verification of the authorized behavior.
|
|
39
|
-
|
|
40
|
-
## Common agent failure modes
|
|
41
|
-
- mechanically replacing all nesting with guard clauses;
|
|
42
|
-
- renaming large surfaces without ticket need;
|
|
43
|
-
- creating abstraction layers for hypothetical future providers;
|
|
44
|
-
- over-modeling trivial states with excessive types/classes;
|
|
45
|
-
- extracting tiny pure functions that make navigation worse without improving tests;
|
|
46
|
-
- inventing a new error taxonomy instead of following project conventions;
|
|
47
|
-
- converting a feature ticket into a broad refactor because nearby code looks untidy;
|
|
48
|
-
- rejecting code based on personal style rather than concrete engineering impact.
|
|
49
|
-
|
|
50
|
-
## Review guidance
|
|
51
|
-
A reviewer should classify a changeability issue as `REPAIR` when the accepted contract remains valid and a bounded implementation correction resolves the problem. Use `REPLAN` only when satisfying the concern requires changing accepted architecture/spec meaning. Non-blocking style preferences should not create a review failure.
|
|
52
|
-
|
|
53
|
-
## Verification examples
|
|
54
|
-
- External boundary: adapter mapping tests prove provider fields do not become application contract fields.
|
|
55
|
-
- Invalid states: tests prove invalid combinations cannot be constructed/admitted through the boundary.
|
|
56
|
-
- Decision/action separation: pure decision tests exercise policy without invoking side effects.
|
|
57
|
-
- Useful errors: tests assert stable error code/shape and safe context.
|
|
58
|
-
- Focused changes: diff inspection shows unrelated modules were not rewritten.
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.artifacts/v1",
|
|
3
|
-
"product": {
|
|
4
|
-
"path": ".yaaw-core/project/product.md",
|
|
5
|
-
"durability": "PROJECT_DURABLE",
|
|
6
|
-
"owner": "prd",
|
|
7
|
-
"mutable": true
|
|
8
|
-
},
|
|
9
|
-
"engineering": {
|
|
10
|
-
"path": ".yaaw-core/project/engineering.md",
|
|
11
|
-
"durability": "PROJECT_DURABLE",
|
|
12
|
-
"owner": "planner",
|
|
13
|
-
"mutable": true
|
|
14
|
-
},
|
|
15
|
-
"engineering_research": {
|
|
16
|
-
"path_pattern": ".yaaw-core/project/research/RSH-*.md",
|
|
17
|
-
"durability": "PROJECT_DURABLE",
|
|
18
|
-
"owner": "planner",
|
|
19
|
-
"mutable": true
|
|
20
|
-
},
|
|
21
|
-
"spec": {
|
|
22
|
-
"path_pattern": ".yaaw-core/project/specs/SPEC-*.md",
|
|
23
|
-
"durability": "PROJECT_DURABLE",
|
|
24
|
-
"owner": "planner",
|
|
25
|
-
"mutable": true
|
|
26
|
-
},
|
|
27
|
-
"ticket": {
|
|
28
|
-
"path_pattern": ".yaaw-core/project/tickets/TASK-*.md",
|
|
29
|
-
"durability": "PROJECT_DURABLE",
|
|
30
|
-
"owner": "planner",
|
|
31
|
-
"mutable": true
|
|
32
|
-
},
|
|
33
|
-
"review": {
|
|
34
|
-
"path_pattern": ".yaaw-core/project/reviews/TASK-*-R*.md",
|
|
35
|
-
"durability": "PROJECT_DURABLE",
|
|
36
|
-
"owner": "reviewer",
|
|
37
|
-
"mutable": false
|
|
38
|
-
},
|
|
39
|
-
"evidence": {
|
|
40
|
-
"path_pattern": ".yaaw-core/project/evidence/*.json",
|
|
41
|
-
"durability": "PROJECT_DURABLE",
|
|
42
|
-
"owner": "implementer",
|
|
43
|
-
"mutable": false
|
|
44
|
-
},
|
|
45
|
-
"project_rule": {
|
|
46
|
-
"path_pattern": ".yaaw-core/project/rules/*.md",
|
|
47
|
-
"durability": "PROJECT_DURABLE",
|
|
48
|
-
"owner": "planner",
|
|
49
|
-
"mutable": true
|
|
50
|
-
},
|
|
51
|
-
"state": {
|
|
52
|
-
"path": ".yaaw-core/project/state.json",
|
|
53
|
-
"durability": "PROJECT_DURABLE",
|
|
54
|
-
"owner": "orchestrator",
|
|
55
|
-
"mutable": true
|
|
56
|
-
},
|
|
57
|
-
"observed_state": {
|
|
58
|
-
"path": ".yaaw-core/runtime/observed-state.json",
|
|
59
|
-
"durability": "RUNTIME_REPLACEABLE",
|
|
60
|
-
"owner": "orchestrator",
|
|
61
|
-
"mutable": true
|
|
62
|
-
},
|
|
63
|
-
"handoff": {
|
|
64
|
-
"path": ".yaaw-core/runtime/handoff.json",
|
|
65
|
-
"durability": "RUNTIME_REPLACEABLE",
|
|
66
|
-
"owner": "orchestrator",
|
|
67
|
-
"mutable": true
|
|
68
|
-
},
|
|
69
|
-
"intent": {
|
|
70
|
-
"path": ".yaaw-core/runtime/intent.json",
|
|
71
|
-
"durability": "RUNTIME_REPLACEABLE",
|
|
72
|
-
"owner": "orchestrator",
|
|
73
|
-
"mutable": true
|
|
74
|
-
},
|
|
75
|
-
"installation_manifest": {
|
|
76
|
-
"path": ".yaaw-core/install/manifest.json",
|
|
77
|
-
"durability": "INSTALLER_MANAGED",
|
|
78
|
-
"owner": "installer",
|
|
79
|
-
"mutable": true
|
|
80
|
-
},
|
|
81
|
-
"repository": {
|
|
82
|
-
"virtual": true,
|
|
83
|
-
"durability": "OBSERVED",
|
|
84
|
-
"owner": "none",
|
|
85
|
-
"mutable": false
|
|
86
|
-
},
|
|
87
|
-
"application_files": {
|
|
88
|
-
"virtual": true,
|
|
89
|
-
"durability": "APPLICATION",
|
|
90
|
-
"owner": "implementer",
|
|
91
|
-
"mutable": true
|
|
92
|
-
},
|
|
93
|
-
"dispatch_failures": {
|
|
94
|
-
"path": ".yaaw-core/runtime/dispatch-failures.json",
|
|
95
|
-
"durability": "RUNTIME_REPLACEABLE",
|
|
96
|
-
"owner": "orchestrator",
|
|
97
|
-
"mutable": true
|
|
98
|
-
}
|
|
99
|
-
}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.execution-policy/v1",
|
|
3
|
-
"defaults": {
|
|
4
|
-
"context_mode": "progressive",
|
|
5
|
-
"external_research": "forbidden"
|
|
6
|
-
},
|
|
7
|
-
"workflows": {
|
|
8
|
-
"prd.route": {
|
|
9
|
-
"repository_requirement": "NONE",
|
|
10
|
-
"external_research": "forbidden",
|
|
11
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
12
|
-
},
|
|
13
|
-
"prd.create": {
|
|
14
|
-
"repository_requirement": "NONE",
|
|
15
|
-
"external_research": "forbidden",
|
|
16
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
17
|
-
},
|
|
18
|
-
"prd.question-round": {
|
|
19
|
-
"repository_requirement": "NONE",
|
|
20
|
-
"external_research": "forbidden",
|
|
21
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
22
|
-
},
|
|
23
|
-
"prd.record-decisions": {
|
|
24
|
-
"repository_requirement": "NONE",
|
|
25
|
-
"external_research": "forbidden",
|
|
26
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
27
|
-
},
|
|
28
|
-
"prd.revise": {
|
|
29
|
-
"repository_requirement": "NONE",
|
|
30
|
-
"external_research": "forbidden",
|
|
31
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
32
|
-
},
|
|
33
|
-
"prd.refine": {
|
|
34
|
-
"repository_requirement": "NONE",
|
|
35
|
-
"external_research": "forbidden",
|
|
36
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
37
|
-
},
|
|
38
|
-
"prd.readiness": {
|
|
39
|
-
"repository_requirement": "NONE",
|
|
40
|
-
"external_research": "forbidden",
|
|
41
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
42
|
-
},
|
|
43
|
-
"planning.route": {
|
|
44
|
-
"repository_requirement": "INSPECT",
|
|
45
|
-
"external_research": "metadata-only",
|
|
46
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
47
|
-
},
|
|
48
|
-
"planning.discover": {
|
|
49
|
-
"repository_requirement": "INSPECT",
|
|
50
|
-
"external_research": "forbidden",
|
|
51
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
52
|
-
},
|
|
53
|
-
"planning.write-understanding": {
|
|
54
|
-
"repository_requirement": "INSPECT",
|
|
55
|
-
"external_research": "forbidden",
|
|
56
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
57
|
-
},
|
|
58
|
-
"planning.decision-frontier": {
|
|
59
|
-
"repository_requirement": "INSPECT",
|
|
60
|
-
"external_research": "admission-only",
|
|
61
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
62
|
-
},
|
|
63
|
-
"planning.research": {
|
|
64
|
-
"repository_requirement": "INSPECT",
|
|
65
|
-
"external_research": "candidate-scoped",
|
|
66
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
67
|
-
},
|
|
68
|
-
"planning.question-round": {
|
|
69
|
-
"repository_requirement": "INSPECT",
|
|
70
|
-
"external_research": "forbidden",
|
|
71
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
72
|
-
},
|
|
73
|
-
"planning.record-decisions": {
|
|
74
|
-
"repository_requirement": "INSPECT",
|
|
75
|
-
"external_research": "forbidden",
|
|
76
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
77
|
-
},
|
|
78
|
-
"planning.readiness-review": {
|
|
79
|
-
"repository_requirement": "INSPECT",
|
|
80
|
-
"external_research": "forbidden",
|
|
81
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
82
|
-
},
|
|
83
|
-
"planning.create-spec": {
|
|
84
|
-
"repository_requirement": "INSPECT",
|
|
85
|
-
"external_research": "forbidden",
|
|
86
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
87
|
-
},
|
|
88
|
-
"planning.create-tickets": {
|
|
89
|
-
"repository_requirement": "IDENTITY",
|
|
90
|
-
"external_research": "forbidden",
|
|
91
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
92
|
-
},
|
|
93
|
-
"planning.replan": {
|
|
94
|
-
"repository_requirement": "INSPECT",
|
|
95
|
-
"external_research": "admission-only",
|
|
96
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
97
|
-
},
|
|
98
|
-
"implementation.select-ticket": {
|
|
99
|
-
"repository_requirement": "IDENTITY",
|
|
100
|
-
"external_research": "forbidden",
|
|
101
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
102
|
-
},
|
|
103
|
-
"implementation.implement-ticket": {
|
|
104
|
-
"repository_requirement": "IDENTITY",
|
|
105
|
-
"external_research": "forbidden",
|
|
106
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
107
|
-
},
|
|
108
|
-
"implementation.verify-ticket": {
|
|
109
|
-
"repository_requirement": "IDENTITY",
|
|
110
|
-
"external_research": "forbidden",
|
|
111
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
112
|
-
},
|
|
113
|
-
"implementation.repair-ticket": {
|
|
114
|
-
"repository_requirement": "IDENTITY",
|
|
115
|
-
"external_research": "forbidden",
|
|
116
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
117
|
-
},
|
|
118
|
-
"review.inspect-change": {
|
|
119
|
-
"repository_requirement": "IDENTITY",
|
|
120
|
-
"external_research": "restricted",
|
|
121
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
122
|
-
},
|
|
123
|
-
"review.review-ticket": {
|
|
124
|
-
"repository_requirement": "IDENTITY",
|
|
125
|
-
"external_research": "restricted",
|
|
126
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
127
|
-
},
|
|
128
|
-
"review.classify-findings": {
|
|
129
|
-
"repository_requirement": "IDENTITY",
|
|
130
|
-
"external_research": "forbidden",
|
|
131
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
132
|
-
},
|
|
133
|
-
"review.record-review": {
|
|
134
|
-
"repository_requirement": "IDENTITY",
|
|
135
|
-
"external_research": "forbidden",
|
|
136
|
-
"execution_context": "ISOLATED_PREFERRED"
|
|
137
|
-
},
|
|
138
|
-
"orchestration.route": {
|
|
139
|
-
"repository_requirement": "INSPECT",
|
|
140
|
-
"external_research": "forbidden",
|
|
141
|
-
"execution_context": "ROOT_ONLY"
|
|
142
|
-
},
|
|
143
|
-
"orchestration.inspect-state": {
|
|
144
|
-
"repository_requirement": "INSPECT",
|
|
145
|
-
"external_research": "forbidden",
|
|
146
|
-
"execution_context": "ROOT_ONLY"
|
|
147
|
-
},
|
|
148
|
-
"orchestration.reconcile-state": {
|
|
149
|
-
"repository_requirement": "INSPECT",
|
|
150
|
-
"external_research": "forbidden",
|
|
151
|
-
"execution_context": "ROOT_ONLY"
|
|
152
|
-
},
|
|
153
|
-
"orchestration.determine-next-action": {
|
|
154
|
-
"repository_requirement": "INSPECT",
|
|
155
|
-
"external_research": "forbidden",
|
|
156
|
-
"execution_context": "ROOT_ONLY"
|
|
157
|
-
},
|
|
158
|
-
"orchestration.dispatch": {
|
|
159
|
-
"repository_requirement": "INSPECT",
|
|
160
|
-
"external_research": "forbidden",
|
|
161
|
-
"execution_context": "ROOT_ONLY"
|
|
162
|
-
},
|
|
163
|
-
"orchestration.recover-interruption": {
|
|
164
|
-
"repository_requirement": "IDENTITY",
|
|
165
|
-
"external_research": "forbidden",
|
|
166
|
-
"execution_context": "ROOT_ONLY"
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"frontend-design": {
|
|
3
|
-
"path": ".yaaw-core/system/expertise/frontend-design/MODULE.md",
|
|
4
|
-
"description": "UI interaction, responsive behavior, accessibility, state feedback, and component-boundary guidance.",
|
|
5
|
-
"signals": ["UI", "layout", "component", "responsive", "interaction", "accessibility"],
|
|
6
|
-
"usable_by": ["planner", "implementer", "reviewer"],
|
|
7
|
-
"required_context": ["relevant UI files", "design-system/project rules", "user-facing acceptance criteria"],
|
|
8
|
-
"anti_patterns": ["inventing visual requirements", "ignoring keyboard/focus states", "rewriting unrelated components"],
|
|
9
|
-
"verification_expectations": ["state coverage", "responsive behavior", "semantics and keyboard/focus behavior"]
|
|
10
|
-
},
|
|
11
|
-
"security": {
|
|
12
|
-
"path": ".yaaw-core/system/expertise/security/MODULE.md",
|
|
13
|
-
"description": "Authentication, authorization, trust-boundary, secret, input, and abuse-case guidance.",
|
|
14
|
-
"signals": ["auth", "authorization", "secret", "input", "permission", "security"],
|
|
15
|
-
"usable_by": ["planner", "implementer", "reviewer"],
|
|
16
|
-
"required_context": ["trust boundaries", "sensitive data paths", "relevant auth/project rules"],
|
|
17
|
-
"anti_patterns": ["security by assumption", "client-only authorization", "logging secrets"],
|
|
18
|
-
"verification_expectations": ["negative authorization cases", "input/failure paths", "secret/data exposure review"]
|
|
19
|
-
},
|
|
20
|
-
"testing": {
|
|
21
|
-
"path": ".yaaw-core/system/expertise/testing/MODULE.md",
|
|
22
|
-
"description": "Test design, verification strategy, regression coverage, and evidence quality guidance.",
|
|
23
|
-
"signals": ["test", "verification", "regression", "acceptance"],
|
|
24
|
-
"usable_by": ["planner", "implementer", "reviewer"],
|
|
25
|
-
"required_context": ["ticket acceptance", "project test tooling", "changed surface"],
|
|
26
|
-
"anti_patterns": ["tests that restate implementation", "ignoring failure paths", "claiming PASS from unrun tests"],
|
|
27
|
-
"verification_expectations": ["required tests executed", "targeted regressions", "reproducible evidence"]
|
|
28
|
-
},
|
|
29
|
-
"python": {
|
|
30
|
-
"path": ".yaaw-core/system/expertise/python/MODULE.md",
|
|
31
|
-
"description": "Repository-aware Python design, typing, runtime, IO/error, async, tooling, and review guidance.",
|
|
32
|
-
"signals": ["Python", "pyproject.toml", "pytest", "ruff", "typing"],
|
|
33
|
-
"usable_by": ["planner", "implementer", "reviewer"],
|
|
34
|
-
"required_context": ["pyproject/tool config", "supported Python version", "relevant package/test files"],
|
|
35
|
-
"anti_patterns": ["overriding local conventions", "unexamined sync/async mixing", "broad exception swallowing"],
|
|
36
|
-
"verification_expectations": ["project tooling passes", "error/resource behavior checked", "typing/runtime assumptions validated"]
|
|
37
|
-
},
|
|
38
|
-
"changeability": {
|
|
39
|
-
"path": ".yaaw-core/system/expertise/changeability/MODULE.md",
|
|
40
|
-
"description": "Maintainability guidance for visible control flow, domain naming, external boundaries, valid-state modeling, decision/side-effect separation, useful errors, and focused changes.",
|
|
41
|
-
"signals": ["maintainability", "refactor", "boundary", "adapter", "state model", "error contract", "complex control flow", "coupling"],
|
|
42
|
-
"usable_by": ["planner", "implementer", "reviewer"],
|
|
43
|
-
"required_context": ["current ticket/spec contract", "changed surface", "repository conventions", "changeability policy"],
|
|
44
|
-
"anti_patterns": ["style-only rewrites", "speculative abstractions", "unrelated refactor creep", "subjective review failures"],
|
|
45
|
-
"verification_expectations": ["relevant structural property checked", "targeted behavior/regression tests", "scope remains focused"]
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.handoff-policy/v1",
|
|
3
|
-
"workflows": {
|
|
4
|
-
"prd.route": {
|
|
5
|
-
"desired_intent": "CONTINUE_PRODUCT", "active_artifact": "product",
|
|
6
|
-
"reads": ["product","state"], "writes": ["product"], "required_expertise": [], "ticket_expertise": false,
|
|
7
|
-
"expected_output": "Current product intent or an explicit human-input/blocker result.",
|
|
8
|
-
"result_vocabulary": ["READY","HUMAN_INPUT_REQUIRED","BLOCKED"]
|
|
9
|
-
},
|
|
10
|
-
"planning.route": {
|
|
11
|
-
"desired_intent": "CONTINUE_PLANNING", "active_artifact": "engineering",
|
|
12
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"],
|
|
13
|
-
"writes": ["engineering","engineering_research","spec","ticket","project_rule"], "required_expertise": [], "ticket_expertise": false,
|
|
14
|
-
"expected_output": "Current engineering frontier readiness or one typed planning stop/result.",
|
|
15
|
-
"result_vocabulary": ["READY","HUMAN_INPUT_REQUIRED","REPLAN","BLOCKED"]
|
|
16
|
-
},
|
|
17
|
-
"planning.create-spec": {
|
|
18
|
-
"desired_intent": "CREATE_SPEC", "active_artifact": "engineering",
|
|
19
|
-
"reads": ["product","engineering","engineering_research","project_rule","repository","state"], "writes": ["spec"],
|
|
20
|
-
"required_expertise": [], "ticket_expertise": false,
|
|
21
|
-
"expected_output": "One accepted specification for the current frontier or a typed prerequisite/stop result.",
|
|
22
|
-
"result_vocabulary": ["SUCCESS","PRECONDITION_UNSATISFIED","BLOCKED"]
|
|
23
|
-
},
|
|
24
|
-
"planning.create-tickets": {
|
|
25
|
-
"desired_intent": "CREATE_TICKETS", "active_artifact": "spec",
|
|
26
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"], "writes": ["ticket"],
|
|
27
|
-
"required_expertise": [], "ticket_expertise": false,
|
|
28
|
-
"expected_output": "Dependency-aware tickets for the accepted specification, including re-evaluation of current DRAFT admission candidates, or a typed prerequisite/stop result.",
|
|
29
|
-
"result_vocabulary": ["SUCCESS","PRECONDITION_UNSATISFIED","BLOCKED"]
|
|
30
|
-
},
|
|
31
|
-
"planning.replan": {
|
|
32
|
-
"desired_intent": "REPLAN", "active_artifact": "ticket",
|
|
33
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"],
|
|
34
|
-
"writes": ["engineering","engineering_research","spec","ticket","project_rule"], "required_expertise": [], "ticket_expertise": true,
|
|
35
|
-
"expected_output": "Updated engineering contract and downstream admission state for the invalidated work.",
|
|
36
|
-
"result_vocabulary": ["READY","HUMAN_INPUT_REQUIRED","BLOCKED"]
|
|
37
|
-
},
|
|
38
|
-
"implementation.implement-ticket": {
|
|
39
|
-
"desired_intent": "IMPLEMENT", "active_artifact": "ticket",
|
|
40
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
41
|
-
"writes": ["application_files","evidence"], "required_expertise": ["changeability"], "ticket_expertise": true,
|
|
42
|
-
"expected_output": "Implementation-start evidence before mutation, bounded implementation, and verification evidence or a typed stop.",
|
|
43
|
-
"result_vocabulary": ["VERIFICATION_PASS","VERIFICATION_FAIL","REPLAN_REQUIRED","PRECONDITION_UNSATISFIED","BLOCKED"]
|
|
44
|
-
},
|
|
45
|
-
"implementation.verify-ticket": {
|
|
46
|
-
"desired_intent": "IMPLEMENT", "active_artifact": "ticket",
|
|
47
|
-
"reads": ["product","engineering","spec","ticket","project_rule","repository","evidence","application_files","state"],
|
|
48
|
-
"writes": ["evidence"], "required_expertise": ["changeability"], "ticket_expertise": true,
|
|
49
|
-
"expected_output": "One immutable v3 implementation_verification evidence record.",
|
|
50
|
-
"result_vocabulary": ["VERIFICATION_PASS","VERIFICATION_FAIL","IMPLEMENTATION_INCOMPLETE","REPLAN_REQUIRED","BLOCKED"]
|
|
51
|
-
},
|
|
52
|
-
"implementation.repair-ticket": {
|
|
53
|
-
"desired_intent": "REPAIR", "active_artifact": "ticket",
|
|
54
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
55
|
-
"writes": ["application_files","evidence"], "required_expertise": ["changeability"], "ticket_expertise": true,
|
|
56
|
-
"expected_output": "Bounded repair plus fresh verification evidence and one legal typed result.",
|
|
57
|
-
"result_vocabulary": ["VERIFICATION_PASS","VERIFICATION_FAIL","REPLAN_REQUIRED","BLOCKED"]
|
|
58
|
-
},
|
|
59
|
-
"review.review-ticket": {
|
|
60
|
-
"desired_intent": "REVIEW", "active_artifact": "ticket",
|
|
61
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
62
|
-
"writes": ["review"], "required_expertise": ["testing","changeability"], "ticket_expertise": true,
|
|
63
|
-
"expected_output": "One immutable independent review round tied to the current contract, PASS verification, and repository basis.",
|
|
64
|
-
"result_vocabulary": ["PASS","REPAIR","REPLAN","BLOCKED"]
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.paths/v3",
|
|
3
|
-
"workspace_root": ".",
|
|
4
|
-
"core_root": ".yaaw-core",
|
|
5
|
-
"system_root": ".yaaw-core/system",
|
|
6
|
-
"project_memory_root": ".yaaw-core/project",
|
|
7
|
-
"runtime_root": ".yaaw-core/runtime",
|
|
8
|
-
"install_root": ".yaaw-core/install",
|
|
9
|
-
"product": ".yaaw-core/project/product.md",
|
|
10
|
-
"engineering": ".yaaw-core/project/engineering.md",
|
|
11
|
-
"research": ".yaaw-core/project/research",
|
|
12
|
-
"state": ".yaaw-core/project/state.json",
|
|
13
|
-
"specs": ".yaaw-core/project/specs",
|
|
14
|
-
"tickets": ".yaaw-core/project/tickets",
|
|
15
|
-
"reviews": ".yaaw-core/project/reviews",
|
|
16
|
-
"evidence": ".yaaw-core/project/evidence",
|
|
17
|
-
"project_rules": ".yaaw-core/project/rules"
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.reconciliation-policy/v1",
|
|
3
|
-
"priority": [
|
|
4
|
-
{"id": "PROJECT_STATE_SCHEMA_MIGRATION_REQUIRED", "priority": 1},
|
|
5
|
-
{"id": "PRODUCT_LEDGER_SYNC", "priority": 2},
|
|
6
|
-
{"id": "PLANNING_LEDGER_SYNC", "priority": 3},
|
|
7
|
-
{"id": "ACTIVE_SPEC_UNADOPTED", "priority": 4},
|
|
8
|
-
{"id": "TICKET_UNREGISTERED", "priority": 5},
|
|
9
|
-
{"id": "TICKET_ADMISSION", "priority": 6},
|
|
10
|
-
{"id": "CONTRACT_SOURCE_STALE", "priority": 7},
|
|
11
|
-
{"id": "IMPLEMENTATION_STARTED", "priority": 8},
|
|
12
|
-
{"id": "IMPLEMENTATION_VERIFIED", "priority": 9},
|
|
13
|
-
{"id": "REVIEW_RESULT_UNAPPLIED", "priority": 10},
|
|
14
|
-
{"id": "ACCEPTANCE_STALE", "priority": 11},
|
|
15
|
-
{"id": "PROJECT_COMPLETION_SYNC", "priority": 12}
|
|
16
|
-
],
|
|
17
|
-
"one_reconciliation_per_cycle": true
|
|
18
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.role-io/v1",
|
|
3
|
-
"roles": {
|
|
4
|
-
"prd": {
|
|
5
|
-
"reads": ["product","state"],
|
|
6
|
-
"writes": ["product"],
|
|
7
|
-
"forbidden_writes": ["engineering","engineering_research","spec","ticket","application_files","evidence","review","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
8
|
-
},
|
|
9
|
-
"planner": {
|
|
10
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","state"],
|
|
11
|
-
"writes": ["engineering","engineering_research","spec","ticket","project_rule"],
|
|
12
|
-
"forbidden_writes": ["product","application_files","evidence","review","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
13
|
-
},
|
|
14
|
-
"implementer": {
|
|
15
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
16
|
-
"writes": ["application_files","evidence"],
|
|
17
|
-
"forbidden_writes": ["product","engineering","engineering_research","spec","ticket","project_rule","review","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
18
|
-
},
|
|
19
|
-
"reviewer": {
|
|
20
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","application_files","state"],
|
|
21
|
-
"writes": ["review"],
|
|
22
|
-
"forbidden_writes": ["product","engineering","engineering_research","spec","ticket","project_rule","application_files","evidence","observed_state","handoff","state","installation_manifest","dispatch_failures"]
|
|
23
|
-
},
|
|
24
|
-
"orchestrator": {
|
|
25
|
-
"reads": ["product","engineering","engineering_research","spec","ticket","project_rule","repository","evidence","review","state","observed_state","handoff","intent","installation_manifest","dispatch_failures"],
|
|
26
|
-
"writes": ["state","observed_state","handoff","intent","dispatch_failures"],
|
|
27
|
-
"forbidden_writes": ["product","engineering","engineering_research","spec","project_rule","application_files","evidence","review","installation_manifest"]
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema": "yaaw.routing-policy/v1",
|
|
3
|
-
"product_unready_workflow": "prd.route",
|
|
4
|
-
"planning_unready_workflow": "planning.route",
|
|
5
|
-
"missing_spec_workflow": "planning.create-spec",
|
|
6
|
-
"missing_tickets_workflow": "planning.create-tickets",
|
|
7
|
-
"draft_admission_workflow": "planning.create-tickets",
|
|
8
|
-
"next_frontier_workflow": "planning.route",
|
|
9
|
-
"complete_terminal": "COMPLETE",
|
|
10
|
-
"ticket_state_precedence": [
|
|
11
|
-
{
|
|
12
|
-
"state": "REPLAN_REQUIRED",
|
|
13
|
-
"workflow": "planning.replan"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"state": "REPAIR_REQUIRED",
|
|
17
|
-
"workflow": "implementation.repair-ticket"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"state": "REVIEW_REQUIRED",
|
|
21
|
-
"workflow": "review.review-ticket"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"state": "IN_PROGRESS",
|
|
25
|
-
"workflow": "orchestration.recover-interruption"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"state": "READY",
|
|
29
|
-
"workflow": "implementation.implement-ticket"
|
|
30
|
-
}
|
|
31
|
-
],
|
|
32
|
-
"invalidation_routes": {
|
|
33
|
-
"PRODUCT_SOURCE_STALE": {
|
|
34
|
-
"state": "REPLAN_REQUIRED",
|
|
35
|
-
"workflow": "planning.replan"
|
|
36
|
-
},
|
|
37
|
-
"ENGINEERING_SOURCE_STALE": {
|
|
38
|
-
"state": "REPLAN_REQUIRED",
|
|
39
|
-
"workflow": "planning.replan"
|
|
40
|
-
},
|
|
41
|
-
"SPEC_SOURCE_STALE": {
|
|
42
|
-
"state": "REPLAN_REQUIRED",
|
|
43
|
-
"workflow": "planning.replan"
|
|
44
|
-
},
|
|
45
|
-
"TICKET_SOURCE_STALE": {
|
|
46
|
-
"state": "REPLAN_REQUIRED",
|
|
47
|
-
"workflow": "planning.replan"
|
|
48
|
-
},
|
|
49
|
-
"CONTRACT_INVALIDATED": {
|
|
50
|
-
"state": "REPLAN_REQUIRED",
|
|
51
|
-
"workflow": "planning.replan"
|
|
52
|
-
},
|
|
53
|
-
"REVIEW_MISSING": {
|
|
54
|
-
"state": "REVIEW_REQUIRED",
|
|
55
|
-
"workflow": "review.review-ticket"
|
|
56
|
-
},
|
|
57
|
-
"REVIEW_REPOSITORY_STALE": {
|
|
58
|
-
"state": "REVIEW_REQUIRED",
|
|
59
|
-
"workflow": "review.review-ticket"
|
|
60
|
-
},
|
|
61
|
-
"VERIFICATION_MISSING": {
|
|
62
|
-
"state": "REVIEW_REQUIRED",
|
|
63
|
-
"workflow": "review.review-ticket"
|
|
64
|
-
},
|
|
65
|
-
"VERIFICATION_REPOSITORY_STALE": {
|
|
66
|
-
"state": "REVIEW_REQUIRED",
|
|
67
|
-
"workflow": "review.review-ticket"
|
|
68
|
-
},
|
|
69
|
-
"LEGACY_IDENTITY_UNVERIFIABLE": {
|
|
70
|
-
"state": "REVIEW_REQUIRED",
|
|
71
|
-
"workflow": "review.review-ticket"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|