@deftai/directive-runtime 0.127.0 → 0.129.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.githooks/_directive-run.sh +30 -0
- package/.githooks/pre-commit +4 -24
- package/.githooks/pre-push +11 -17
- package/Taskfile.yml +16 -15
- package/contracts/design-critique.md +5 -0
- package/dist/cli-router/route-argv.js +1 -0
- package/dist/contract-entry.js +2 -0
- package/dist/coverage-hotspots.js +2 -2
- package/dist/dispatch.d.ts +1 -1
- package/dist/dispatch.js +7 -0
- package/dist/policy.d.ts +4 -2
- package/dist/policy.js +101 -2
- package/dist/pre-pr-run.d.ts +2 -0
- package/dist/pre-pr-run.js +40 -0
- package/dist/render-cli/capability-map-cli.d.ts +3 -0
- package/dist/render-cli/capability-map-cli.js +6 -0
- package/dist/setup-wiring.d.ts +16 -1
- package/dist/setup-wiring.js +47 -3
- package/dist/setup.d.ts +4 -0
- package/dist/setup.js +7 -1
- package/dist/verify-ac.js +29 -2
- package/docs/getting-started.md +2 -0
- package/docs/known-limitations.md +1 -0
- package/docs/launcher.md +10 -0
- package/package.json +1 -1
- package/packs/skills/skills-pack-0.1.json +1 -1
- package/skills/deft-directive-pre-pr/SKILL.md +13 -3
- package/tasks/agent.yml +0 -2
- package/tasks/cache.yml +0 -16
- package/tasks/capacity.yml +0 -4
- package/tasks/change.yml +0 -4
- package/tasks/codebase.yml +0 -10
- package/tasks/commit.yml +0 -2
- package/tasks/coverage.yml +0 -2
- package/tasks/decision.yml +0 -4
- package/tasks/directive.yml +0 -1
- package/tasks/docs.yml +6 -10
- package/tasks/engine-invoke.cjs +79 -0
- package/tasks/engine-invoke.test.cjs +84 -0
- package/tasks/engine.yml +27 -88
- package/tasks/eval.yml +0 -8
- package/tasks/feedback.yml +0 -2
- package/tasks/install.yml +0 -4
- package/tasks/issue.yml +0 -3
- package/tasks/lifecycle.yml +0 -1
- package/tasks/materialize.cjs +246 -0
- package/tasks/materialize.test.cjs +103 -0
- package/tasks/materialize.yml +13 -0
- package/tasks/migrate.yml +0 -6
- package/tasks/packs.yml +0 -16
- package/tasks/plan-sequence.yml +0 -8
- package/tasks/policy.yml +0 -24
- package/tasks/pr.yml +0 -6
- package/tasks/prd.yml +0 -2
- package/tasks/product-signal.yml +0 -10
- package/tasks/project.yml +0 -8
- package/tasks/reconcile.yml +0 -2
- package/tasks/review-monitor.yml +0 -4
- package/tasks/roadmap.yml +0 -4
- package/tasks/scm.yml +0 -32
- package/tasks/scope.yml +0 -30
- package/tasks/slice.yml +0 -4
- package/tasks/spec.yml +0 -6
- package/tasks/subagent.yml +0 -4
- package/tasks/swarm.yml +0 -7
- package/tasks/toolchain.yml +0 -4
- package/tasks/triage-actions.yml +0 -8
- package/tasks/triage-bootstrap.yml +0 -1
- package/tasks/triage-bulk.yml +0 -5
- package/tasks/triage-classify.yml +0 -2
- package/tasks/triage-evaluate.yml +0 -1
- package/tasks/triage-metrics.yml +0 -2
- package/tasks/triage-queue.yml +0 -3
- package/tasks/triage-reconcile.yml +0 -1
- package/tasks/triage-scope-drift.yml +0 -1
- package/tasks/triage-scope.yml +0 -1
- package/tasks/triage-smoketest.yml +0 -1
- package/tasks/triage-subscribe.yml +0 -2
- package/tasks/tutorial.yml +0 -20
- package/tasks/umbrella.yml +0 -2
- package/tasks/value.yml +0 -2
- package/tasks/vbrief.yml +0 -12
- package/tasks/verify.yml +0 -140
- package/tasks/xbrief.yml +0 -6
- package/templates/design-critique-brief.md +3 -0
- package/vendor/directive-content/.githooks/_directive-run.sh +30 -0
- package/vendor/directive-content/.githooks/pre-commit +4 -24
- package/vendor/directive-content/.githooks/pre-push +11 -17
- package/vendor/directive-content/Taskfile.yml +16 -15
- package/vendor/directive-content/contracts/design-critique.md +5 -0
- package/vendor/directive-content/docs/getting-started.md +2 -0
- package/vendor/directive-content/docs/known-limitations.md +1 -0
- package/vendor/directive-content/docs/launcher.md +10 -0
- package/vendor/directive-content/packs/skills/skills-pack-0.1.json +1 -1
- package/vendor/directive-content/skills/deft-directive-pre-pr/SKILL.md +13 -3
- package/vendor/directive-content/tasks/agent.yml +0 -2
- package/vendor/directive-content/tasks/cache.yml +0 -16
- package/vendor/directive-content/tasks/capacity.yml +0 -4
- package/vendor/directive-content/tasks/change.yml +0 -4
- package/vendor/directive-content/tasks/codebase.yml +0 -10
- package/vendor/directive-content/tasks/commit.yml +0 -2
- package/vendor/directive-content/tasks/coverage.yml +0 -2
- package/vendor/directive-content/tasks/decision.yml +0 -4
- package/vendor/directive-content/tasks/directive.yml +0 -1
- package/vendor/directive-content/tasks/docs.yml +6 -10
- package/vendor/directive-content/tasks/engine-invoke.cjs +79 -0
- package/vendor/directive-content/tasks/engine-invoke.test.cjs +84 -0
- package/vendor/directive-content/tasks/engine.yml +27 -88
- package/vendor/directive-content/tasks/eval.yml +0 -8
- package/vendor/directive-content/tasks/feedback.yml +0 -2
- package/vendor/directive-content/tasks/install.yml +0 -4
- package/vendor/directive-content/tasks/issue.yml +0 -3
- package/vendor/directive-content/tasks/lifecycle.yml +0 -1
- package/vendor/directive-content/tasks/materialize.cjs +246 -0
- package/vendor/directive-content/tasks/materialize.test.cjs +103 -0
- package/vendor/directive-content/tasks/materialize.yml +13 -0
- package/vendor/directive-content/tasks/migrate.yml +0 -6
- package/vendor/directive-content/tasks/packs.yml +0 -16
- package/vendor/directive-content/tasks/plan-sequence.yml +0 -8
- package/vendor/directive-content/tasks/policy.yml +0 -24
- package/vendor/directive-content/tasks/pr.yml +0 -6
- package/vendor/directive-content/tasks/prd.yml +0 -2
- package/vendor/directive-content/tasks/product-signal.yml +0 -10
- package/vendor/directive-content/tasks/project.yml +0 -8
- package/vendor/directive-content/tasks/reconcile.yml +0 -2
- package/vendor/directive-content/tasks/review-monitor.yml +0 -4
- package/vendor/directive-content/tasks/roadmap.yml +0 -4
- package/vendor/directive-content/tasks/scm.yml +0 -32
- package/vendor/directive-content/tasks/scope.yml +0 -30
- package/vendor/directive-content/tasks/slice.yml +0 -4
- package/vendor/directive-content/tasks/spec.yml +0 -6
- package/vendor/directive-content/tasks/subagent.yml +0 -4
- package/vendor/directive-content/tasks/swarm.yml +0 -7
- package/vendor/directive-content/tasks/toolchain.yml +0 -4
- package/vendor/directive-content/tasks/triage-actions.yml +0 -8
- package/vendor/directive-content/tasks/triage-bootstrap.yml +0 -1
- package/vendor/directive-content/tasks/triage-bulk.yml +0 -5
- package/vendor/directive-content/tasks/triage-classify.yml +0 -2
- package/vendor/directive-content/tasks/triage-evaluate.yml +0 -1
- package/vendor/directive-content/tasks/triage-metrics.yml +0 -2
- package/vendor/directive-content/tasks/triage-queue.yml +0 -3
- package/vendor/directive-content/tasks/triage-reconcile.yml +0 -1
- package/vendor/directive-content/tasks/triage-scope-drift.yml +0 -1
- package/vendor/directive-content/tasks/triage-scope.yml +0 -1
- package/vendor/directive-content/tasks/triage-smoketest.yml +0 -1
- package/vendor/directive-content/tasks/triage-subscribe.yml +0 -2
- package/vendor/directive-content/tasks/tutorial.yml +0 -20
- package/vendor/directive-content/tasks/umbrella.yml +0 -2
- package/vendor/directive-content/tasks/value.yml +0 -2
- package/vendor/directive-content/tasks/vbrief.yml +0 -12
- package/vendor/directive-content/tasks/verify.yml +0 -140
- package/vendor/directive-content/tasks/xbrief.yml +0 -6
- package/vendor/directive-content/templates/design-critique-brief.md +3 -0
- package/vendor/directive-core/dist/.tsbuildinfo +1 -1
- package/vendor/directive-core/dist/content-root.d.ts.map +1 -1
- package/vendor/directive-core/dist/content-root.js +8 -1
- package/vendor/directive-core/dist/content-root.js.map +1 -1
- package/vendor/directive-core/dist/coverage-hotspots/evaluate.d.ts +13 -5
- package/vendor/directive-core/dist/coverage-hotspots/evaluate.d.ts.map +1 -1
- package/vendor/directive-core/dist/coverage-hotspots/evaluate.js +60 -2
- package/vendor/directive-core/dist/coverage-hotspots/evaluate.js.map +1 -1
- package/vendor/directive-core/dist/doctor/checks.d.ts.map +1 -1
- package/vendor/directive-core/dist/doctor/checks.js +5 -3
- package/vendor/directive-core/dist/doctor/checks.js.map +1 -1
- package/vendor/directive-core/dist/hooks/scope.d.ts +57 -0
- package/vendor/directive-core/dist/hooks/scope.d.ts.map +1 -1
- package/vendor/directive-core/dist/hooks/scope.js +171 -0
- package/vendor/directive-core/dist/hooks/scope.js.map +1 -1
- package/vendor/directive-core/dist/index.d.ts +1 -0
- package/vendor/directive-core/dist/index.d.ts.map +1 -1
- package/vendor/directive-core/dist/index.js +1 -0
- package/vendor/directive-core/dist/index.js.map +1 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.d.ts +1 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.d.ts.map +1 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.js +1 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.js.map +1 -1
- package/vendor/directive-core/dist/packs/pack-render.d.ts +6 -1
- package/vendor/directive-core/dist/packs/pack-render.d.ts.map +1 -1
- package/vendor/directive-core/dist/packs/pack-render.js +103 -78
- package/vendor/directive-core/dist/packs/pack-render.js.map +1 -1
- package/vendor/directive-core/dist/packs/packs-root.d.ts +53 -0
- package/vendor/directive-core/dist/packs/packs-root.d.ts.map +1 -0
- package/vendor/directive-core/dist/packs/packs-root.js +83 -0
- package/vendor/directive-core/dist/packs/packs-root.js.map +1 -0
- package/vendor/directive-core/dist/packs/packs-slice.d.ts.map +1 -1
- package/vendor/directive-core/dist/packs/packs-slice.js +6 -6
- package/vendor/directive-core/dist/packs/packs-slice.js.map +1 -1
- package/vendor/directive-core/dist/policy/coverage-mode.d.ts +84 -0
- package/vendor/directive-core/dist/policy/coverage-mode.d.ts.map +1 -0
- package/vendor/directive-core/dist/policy/coverage-mode.js +226 -0
- package/vendor/directive-core/dist/policy/coverage-mode.js.map +1 -0
- package/vendor/directive-core/dist/policy/index.d.ts +2 -0
- package/vendor/directive-core/dist/policy/index.d.ts.map +1 -1
- package/vendor/directive-core/dist/policy/index.js +60 -40
- package/vendor/directive-core/dist/policy/index.js.map +1 -1
- package/vendor/directive-core/dist/pr-closing-keywords/main.d.ts.map +1 -1
- package/vendor/directive-core/dist/pr-closing-keywords/main.js +137 -7
- package/vendor/directive-core/dist/pr-closing-keywords/main.js.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts +2 -0
- package/vendor/directive-core/dist/pre-pr-controller/controller.d.ts.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/controller.js +109 -14
- package/vendor/directive-core/dist/pre-pr-controller/controller.js.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/evaluate.d.ts +2 -0
- package/vendor/directive-core/dist/pre-pr-controller/evaluate.d.ts.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/evaluate.js +11 -1
- package/vendor/directive-core/dist/pre-pr-controller/evaluate.js.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/index.d.ts +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/index.d.ts.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/index.js +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/index.js.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/phases.d.ts +10 -0
- package/vendor/directive-core/dist/pre-pr-controller/phases.d.ts.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/phases.js +15 -1
- package/vendor/directive-core/dist/pre-pr-controller/phases.js.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/types.d.ts +20 -1
- package/vendor/directive-core/dist/pre-pr-controller/types.d.ts.map +1 -1
- package/vendor/directive-core/dist/pre-pr-controller/types.js +2 -0
- package/vendor/directive-core/dist/pre-pr-controller/types.js.map +1 -1
- package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts +40 -3
- package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts.map +1 -1
- package/vendor/directive-core/dist/preflight-gh/pre-push.js +353 -27
- package/vendor/directive-core/dist/preflight-gh/pre-push.js.map +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.d.ts +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.d.ts.map +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.js +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/acceptance-resolver.js.map +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/index.d.ts +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/index.d.ts.map +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/index.js +1 -1
- package/vendor/directive-core/dist/product-first-done-gate/index.js.map +1 -1
- package/vendor/directive-core/dist/release/main.d.ts.map +1 -1
- package/vendor/directive-core/dist/release/main.js +3 -2
- package/vendor/directive-core/dist/release/main.js.map +1 -1
- package/vendor/directive-core/dist/release/version.d.ts +14 -0
- package/vendor/directive-core/dist/release/version.d.ts.map +1 -1
- package/vendor/directive-core/dist/release/version.js +28 -0
- package/vendor/directive-core/dist/release/version.js.map +1 -1
- package/vendor/directive-core/dist/render/project-render.d.ts.map +1 -1
- package/vendor/directive-core/dist/render/project-render.js +1 -0
- package/vendor/directive-core/dist/render/project-render.js.map +1 -1
- package/vendor/directive-core/dist/scope/file-scope-coverage-warn.d.ts +21 -0
- package/vendor/directive-core/dist/scope/file-scope-coverage-warn.d.ts.map +1 -0
- package/vendor/directive-core/dist/scope/file-scope-coverage-warn.js +95 -0
- package/vendor/directive-core/dist/scope/file-scope-coverage-warn.js.map +1 -0
- package/vendor/directive-core/dist/swarm/launch-cli.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/launch-cli.js +12 -0
- package/vendor/directive-core/dist/swarm/launch-cli.js.map +1 -1
- package/vendor/directive-core/dist/swarm/launch.d.ts +6 -0
- package/vendor/directive-core/dist/swarm/launch.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/launch.js +11 -0
- package/vendor/directive-core/dist/swarm/launch.js.map +1 -1
- package/vendor/directive-core/dist/swarm/leftover-before-activation.d.ts +27 -0
- package/vendor/directive-core/dist/swarm/leftover-before-activation.d.ts.map +1 -0
- package/vendor/directive-core/dist/swarm/leftover-before-activation.js +31 -0
- package/vendor/directive-core/dist/swarm/leftover-before-activation.js.map +1 -0
- package/vendor/directive-core/dist/verify-env/verify-hooks-installed.d.ts +3 -3
- package/vendor/directive-core/dist/verify-env/verify-hooks-installed.d.ts.map +1 -1
- package/vendor/directive-core/dist/verify-env/verify-hooks-installed.js +7 -11
- package/vendor/directive-core/dist/verify-env/verify-hooks-installed.js.map +1 -1
- package/vendor/directive-core/dist/verify-source/project-definition-mutation-boundary.d.ts.map +1 -1
- package/vendor/directive-core/dist/verify-source/project-definition-mutation-boundary.js +1 -0
- package/vendor/directive-core/dist/verify-source/project-definition-mutation-boundary.js.map +1 -1
- package/.githooks/_deft-run.sh +0 -47
- package/vendor/directive-content/.githooks/_deft-run.sh +0 -47
|
@@ -7,8 +7,6 @@ tasks:
|
|
|
7
7
|
|
|
8
8
|
stubs:
|
|
9
9
|
desc: Scan source files for stub patterns (TODO, FIXME, HACK, return null, bare pass)
|
|
10
|
-
deps:
|
|
11
|
-
- task: :engine:_ts-build
|
|
12
10
|
cmds:
|
|
13
11
|
# Oracle/fallback (parity): scripts/verify-stubs.py (#1828 Wave 8 / #1854 s3).
|
|
14
12
|
- task: :engine:invoke
|
|
@@ -17,8 +15,6 @@ tasks:
|
|
|
17
15
|
|
|
18
16
|
links:
|
|
19
17
|
desc: Validate internal links in markdown files
|
|
20
|
-
deps:
|
|
21
|
-
- task: :engine:_ts-build
|
|
22
18
|
cmds:
|
|
23
19
|
# Oracle/fallback (parity): scripts/validate-links.py (#1828 Wave 8 / #1854 s3).
|
|
24
20
|
- task: :engine:invoke
|
|
@@ -27,8 +23,6 @@ tasks:
|
|
|
27
23
|
|
|
28
24
|
rule-ownership:
|
|
29
25
|
desc: "Verify the Rule Ownership Map (conventions/rule-ownership.json) is in sync with its owner files (#635)"
|
|
30
|
-
deps:
|
|
31
|
-
- task: :engine:_ts-build
|
|
32
26
|
cmds:
|
|
33
27
|
# Oracle/fallback (parity): scripts/rule_ownership_lint.py (#1828 Wave 8 / #1854 s3).
|
|
34
28
|
- task: :engine:invoke
|
|
@@ -37,8 +31,6 @@ tasks:
|
|
|
37
31
|
|
|
38
32
|
rule-to-verb-parity:
|
|
39
33
|
desc: "[#5521] Fail closed when agents-entry.md / agent-prompt-preamble.md name unregistered deft/task verbs (family globs expand). Framework-source only."
|
|
40
|
-
deps:
|
|
41
|
-
- task: :engine:_ts-build
|
|
42
34
|
cmds:
|
|
43
35
|
- task: :engine:invoke
|
|
44
36
|
vars:
|
|
@@ -46,8 +38,6 @@ tasks:
|
|
|
46
38
|
|
|
47
39
|
biome-config:
|
|
48
40
|
desc: "Guard against #2190 (biome check . flipping recommended-preset diagnostic severity between warning and error non-deterministically): asserts biome.json declares an explicit non-error severity for noUnusedVariables and noNonNullAssertion. Three-state exit (0 clean / 1 missing/error severity / 2 config error)."
|
|
49
|
-
deps:
|
|
50
|
-
- task: :engine:_ts-build
|
|
51
41
|
# Framework-source-only gate: it reads THIS repo's own biome.json, so it
|
|
52
42
|
# targets DEFT_ROOT (not USER_WORKING_DIR) -- a consumer deposit has no
|
|
53
43
|
# TS engine / biome.json to guard. Mirrors verify:content-manifest.
|
|
@@ -58,8 +48,6 @@ tasks:
|
|
|
58
48
|
|
|
59
49
|
telemetry-coverage:
|
|
60
50
|
desc: "Dead-surface detector for run-summary event kinds (#3362). Every RUN_SUMMARY_EVENT_KINDS member needs a production caller and a field-shaped fixture. Default is warn-only; pass --enforce to fail closed. -- task verify:telemetry-coverage [-- --enforce]"
|
|
61
|
-
deps:
|
|
62
|
-
- task: :engine:_ts-build
|
|
63
51
|
# Framework-source-only gate: scans THIS repo's packages/core/src emitters.
|
|
64
52
|
cmds:
|
|
65
53
|
- task: :engine:invoke
|
|
@@ -68,8 +56,6 @@ tasks:
|
|
|
68
56
|
|
|
69
57
|
contained-writes:
|
|
70
58
|
desc: "Inventory raw product write sinks outside the contained-write allowlist (#2951 / #2980). Default CLI remains fail-open; task check wires --enforce fail-closed. -- task verify:contained-writes [-- --enforce]"
|
|
71
|
-
deps:
|
|
72
|
-
- task: :engine:_ts-build
|
|
73
59
|
# Framework-source-only gate: scans packages/core/src in THIS repo.
|
|
74
60
|
cmds:
|
|
75
61
|
- task: :engine:invoke
|
|
@@ -78,8 +64,6 @@ tasks:
|
|
|
78
64
|
|
|
79
65
|
content-manifest:
|
|
80
66
|
desc: "Verify the Content Manifest (conventions/content-manifest.json) classifies every git-tracked top-level entry (#1821). Fails on an unclassified entry, a stale classified path, an invalid bucket, or a duplicate path. Wave-1 shippability audit for the engine/content split (#1669)."
|
|
81
|
-
deps:
|
|
82
|
-
- task: :engine:_ts-build
|
|
83
67
|
# Framework-source-only gate: it classifies THIS repo's top-level tree, so it
|
|
84
68
|
# targets DEFT_ROOT (not USER_WORKING_DIR) -- a consumer install has no
|
|
85
69
|
# content/ + engine/ top-level split to audit. Mirrors verify:rule-ownership.
|
|
@@ -90,8 +74,6 @@ tasks:
|
|
|
90
74
|
|
|
91
75
|
deposit-closure:
|
|
92
76
|
desc: "C1 declared deposit closure against a staged pack root (#3900 / #3601). Resolves contracts/deposit-required-paths.json; does not infer paths from AGENTS.md. Three-state (0 clean / 1 missing / 2 config)."
|
|
93
|
-
deps:
|
|
94
|
-
- task: :engine:_ts-build
|
|
95
77
|
cmds:
|
|
96
78
|
- task: :engine:invoke
|
|
97
79
|
vars:
|
|
@@ -99,8 +81,6 @@ tasks:
|
|
|
99
81
|
|
|
100
82
|
consumer-hard-stops:
|
|
101
83
|
desc: "Enumerate open consumer hard-stops by privileged labels (adoption-blocker, blocks-release-tag) only (#3900 / #3713 / #3969). Does not read issue bodies. Fail-closed at release."
|
|
102
|
-
deps:
|
|
103
|
-
- task: :engine:_ts-build
|
|
104
84
|
cmds:
|
|
105
85
|
- task: :engine:invoke
|
|
106
86
|
vars:
|
|
@@ -108,8 +88,6 @@ tasks:
|
|
|
108
88
|
|
|
109
89
|
closing-keywords:
|
|
110
90
|
desc: "Wire task pr:check-closing-keywords into the check graph (#737 / #3969). FP mode against the merge-base, or --pr when GITHUB_PR_NUMBER is set."
|
|
111
|
-
deps:
|
|
112
|
-
- task: :engine:_ts-build
|
|
113
91
|
dir: '{{.USER_WORKING_DIR}}'
|
|
114
92
|
cmds:
|
|
115
93
|
- task: :engine:invoke
|
|
@@ -118,8 +96,6 @@ tasks:
|
|
|
118
96
|
|
|
119
97
|
docs-impact:
|
|
120
98
|
desc: "Declared-versus-touched documentation-impact check (#4099). --pr uses REST; --body-file for local. Fork PRs stay read-only."
|
|
121
|
-
deps:
|
|
122
|
-
- task: :engine:_ts-build
|
|
123
99
|
dir: '{{.USER_WORKING_DIR}}'
|
|
124
100
|
cmds:
|
|
125
101
|
- task: :engine:invoke
|
|
@@ -135,8 +111,6 @@ tasks:
|
|
|
135
111
|
|
|
136
112
|
skill-external-fetch-gate:
|
|
137
113
|
desc: "Verify shipped skills do not pair external fetch/follow-through with execute/install without Security context mitigation (#1936 / #1532)."
|
|
138
|
-
deps:
|
|
139
|
-
- task: :engine:_ts-build
|
|
140
114
|
# Framework-source-only gate: scans THIS repo's content/skills tree.
|
|
141
115
|
cmds:
|
|
142
116
|
- task: :engine:invoke
|
|
@@ -145,8 +119,6 @@ tasks:
|
|
|
145
119
|
|
|
146
120
|
semantic-single-source:
|
|
147
121
|
desc: "C2 semantic single-source conformance (#3600 / #3899): shipped authoring MUST lines name exactly one xBRIEF write version, the version setup writes. Fails on a mutated staged pack. Three-state (0 clean / 1 drift / 2 config). -- task verify:semantic-single-source [-- --project-root <pack-or-source>]"
|
|
148
|
-
deps:
|
|
149
|
-
- task: :engine:_ts-build
|
|
150
122
|
# Framework-source-only gate: scans shipped authoring surfaces in THIS repo
|
|
151
123
|
# (or a staged pack root via --project-root / --pack-root).
|
|
152
124
|
cmds:
|
|
@@ -156,8 +128,6 @@ tasks:
|
|
|
156
128
|
|
|
157
129
|
contract-drift:
|
|
158
130
|
desc: "Drift gate for the public contract layer (#1799). Asserts packages/types/schemas/vbrief-core-0.6.schema.json matches content/vbrief/schemas/vbrief-core.schema.json and that @deftai/directive-types Status/version constants align with the schema. Three-state exit (0 clean / 1 drift / 2 config error)."
|
|
159
|
-
deps:
|
|
160
|
-
- task: :engine:_ts-build
|
|
161
131
|
cmds:
|
|
162
132
|
- task: :engine:invoke
|
|
163
133
|
vars:
|
|
@@ -165,8 +135,6 @@ tasks:
|
|
|
165
135
|
|
|
166
136
|
cursor-tier1:
|
|
167
137
|
desc: "Framework-source content gate (#1877): assert Cursor (cursor-composer / cursor-cloud-agent, Task-tool primitive) is enumerated as a Tier-1 descriptor in the swarm Phase 3 capability matrix AND the review-cycle monitoring tier table. Fails when a doc edit drops the Cursor descriptor and silently re-opens the Tier-3 blocking-poll misclassification. Three-state exit (0 clean / 1 missing marker / 2 config error)."
|
|
168
|
-
deps:
|
|
169
|
-
- task: :engine:_ts-build
|
|
170
138
|
# Framework-source-only gate: it scans THIS repo's two skill docs, so it
|
|
171
139
|
# targets DEFT_ROOT (not USER_WORKING_DIR) -- a consumer install renders
|
|
172
140
|
# these skills under .deft/core and does not author them. Mirrors
|
|
@@ -178,8 +146,6 @@ tasks:
|
|
|
178
146
|
|
|
179
147
|
openclaw-tier1:
|
|
180
148
|
desc: "Framework-source content gate (#2875): assert OpenClaw (openclaw descriptor, sessions_spawn primitive) is enumerated as Tier 1 in the swarm Phase 3 capability matrix AND routing accepts openclaw as a dispatch_provider. Fails when a doc/code edit drops the OpenClaw descriptor and silently re-opens grok-build / generic-terminal misclassification. Three-state exit (0 clean / 1 missing marker / 2 config error)."
|
|
181
|
-
deps:
|
|
182
|
-
- task: :engine:_ts-build
|
|
183
149
|
# Framework-source-only gate: it scans THIS repo's swarm skill + routing
|
|
184
150
|
# module, so it targets DEFT_ROOT (not USER_WORKING_DIR). Mirrors
|
|
185
151
|
# verify:cursor-tier1 / verify:content-manifest.
|
|
@@ -190,8 +156,6 @@ tasks:
|
|
|
190
156
|
|
|
191
157
|
go-freeze:
|
|
192
158
|
desc: "Tier-1 freeze gate for the legacy Go-installer bridge (#1912). Advisory while the Tier-0 SoT (lastGoInstaller) is null; once the operator pins it, fails when cmd/deft-install is bumped above the frozen tag. Three-state exit (0 ok / 1 violation / 2 config error). Emergency bypass: DEFT_ALLOW_GO_INSTALLER_BUMP=1."
|
|
193
|
-
deps:
|
|
194
|
-
- task: :engine:_ts-build
|
|
195
159
|
# Framework-source-only gate: it inspects THIS repo's cmd/deft-install
|
|
196
160
|
# version constant + the Tier-0 SoT, so it targets DEFT_ROOT (not
|
|
197
161
|
# USER_WORKING_DIR) -- a consumer install has no Go-installer source to
|
|
@@ -203,8 +167,6 @@ tasks:
|
|
|
203
167
|
|
|
204
168
|
bridge-drift:
|
|
205
169
|
desc: "Tier-1 cross-surface drift gate for the legacy Go-installer bridge (#1912). Asserts no surface marked with the bridge sentinel hardcodes a Go-installer version instead of reading the Tier-0 SoT (lastGoInstaller). Three-state exit (0 clean / 1 drift / 2 config error). Passes whether or not the UPGRADING/doctor surfaces exist yet."
|
|
206
|
-
deps:
|
|
207
|
-
- task: :engine:_ts-build
|
|
208
170
|
# Framework-source-only gate: it scans THIS repo's bridge-version surfaces
|
|
209
171
|
# against the Tier-0 SoT, so it targets DEFT_ROOT. Mirrors
|
|
210
172
|
# verify:content-manifest / verify:scm-boundary.
|
|
@@ -216,8 +178,6 @@ tasks:
|
|
|
216
178
|
branch:
|
|
217
179
|
desc: "Detection-bound branch-protection gate (#747). Reads plan.policy.allowDirectCommitsToMaster from PROJECT-DEFINITION."
|
|
218
180
|
dir: '{{.USER_WORKING_DIR}}'
|
|
219
|
-
deps:
|
|
220
|
-
- task: :engine:_ts-build
|
|
221
181
|
cmds:
|
|
222
182
|
- task: :engine:invoke
|
|
223
183
|
vars:
|
|
@@ -244,8 +204,6 @@ tasks:
|
|
|
244
204
|
# cached skip would return a stale verdict.
|
|
245
205
|
desc: "Validate GitHub auth from the worker envelope (#1557): host-gh vs injected-token mode, gh auth status, and API reachability. Fails closed on missing_injected_token in cloud-headless. -- task verify:gh-auth [-- --json] [--repo OWNER/NAME] [--github-auth-mode host-gh|injected-token]"
|
|
246
206
|
dir: '{{.USER_WORKING_DIR}}'
|
|
247
|
-
deps:
|
|
248
|
-
- task: :engine:_ts-build
|
|
249
207
|
cmds:
|
|
250
208
|
# Bare CLI_ARGS per the verify:encoding convention -- go-task shell-escapes pass-through args.
|
|
251
209
|
- task: :engine:invoke
|
|
@@ -255,8 +213,6 @@ tasks:
|
|
|
255
213
|
routing:
|
|
256
214
|
desc: "Operator coding sub-agent model routing gate (#1739). Pre-dispatch (default): fails when a dispatched worker role has no decision in .deft/routing.local.json. Pass --advise for the non-blocking session-start disclosure; --roles a,b to widen the gated set; --provider to override the runtime."
|
|
257
215
|
dir: '{{.USER_WORKING_DIR}}'
|
|
258
|
-
deps:
|
|
259
|
-
- task: :engine:_ts-build
|
|
260
216
|
cmds:
|
|
261
217
|
# Bare CLI_ARGS per the verify:encoding convention -- go-task shell-escapes pass-through args.
|
|
262
218
|
- task: :engine:invoke
|
|
@@ -266,8 +222,6 @@ tasks:
|
|
|
266
222
|
hooks-installed:
|
|
267
223
|
desc: "Assert the deft git hooks are installed AND functional -- core.hooksPath set, hooks dir + pre-commit/pre-push present, and the gate scripts resolve in this layout (own-repo or vendored). Fails loud on the #1463 false-green (wired but non-functional). Run `task setup` / re-run the installer if this fails (#747, #1463)."
|
|
268
224
|
dir: '{{.USER_WORKING_DIR}}'
|
|
269
|
-
deps:
|
|
270
|
-
- task: :engine:_ts-build
|
|
271
225
|
# No sources:/generates: -- a cached cmds skip would mask a hooks dir /
|
|
272
226
|
# gate-script that was deleted after the last run.
|
|
273
227
|
cmds:
|
|
@@ -279,8 +233,6 @@ tasks:
|
|
|
279
233
|
encoding:
|
|
280
234
|
desc: "Detect PS 5.1 non-ASCII round-trip corruption (#798). Scans tracked text files for U+FFFD, CP1252/CP437-as-UTF-8 mojibake, and unexpected BOM. Defaults to --all; pass --staged for the pre-commit invocation."
|
|
281
235
|
dir: '{{.USER_WORKING_DIR}}'
|
|
282
|
-
deps:
|
|
283
|
-
- task: :engine:_ts-build
|
|
284
236
|
# Per `conventions/task-caching.md`: NO `sources:` / `generates:` because
|
|
285
237
|
# user-facing flags (--staged / --all / --allow-list <path>) MUST NOT be
|
|
286
238
|
# silently swallowed by go-task's incremental-build cache. The same
|
|
@@ -296,8 +248,6 @@ tasks:
|
|
|
296
248
|
forward-coverage:
|
|
297
249
|
desc: "Forward-coverage gate (#1310 / #3514): fail-closed when a NEW source file is added without a corresponding test in the SAME diff; also report uncovered added/modified branches by intersecting coverage-final.json with the diff (warn-first; --enforce fail-closes). The 90% per-diff threshold is not the 75 global floor. Defaults to the HEAD-relative diff; pass --staged for pre-commit. Three-state exit (0 clean or warn / 1 missing existence or enforced diff findings / 2 config error)."
|
|
298
250
|
dir: '{{.USER_WORKING_DIR}}'
|
|
299
|
-
deps:
|
|
300
|
-
- task: :engine:_ts-build
|
|
301
251
|
# Per `conventions/task-caching.md`: NO `sources:` / `generates:` because
|
|
302
252
|
# user-facing flags (--staged / --head / --allow-list <path> / --quiet / --enforce) MUST
|
|
303
253
|
# NOT be silently swallowed by go-task's incremental-build cache (same
|
|
@@ -310,8 +260,6 @@ tasks:
|
|
|
310
260
|
changelog-unreleased:
|
|
311
261
|
desc: "Fail-closed CHANGELOG.md [Unreleased] has at least one `- ` entry (#633). Alias of changelog-check --against-merge-base; same Unreleased language as task change:changelog:check. Framework-source merge-chokepoint only. Fails when the Unreleased `- ` set is unchanged versus merge-base."
|
|
312
262
|
dir: '{{.USER_WORKING_DIR}}'
|
|
313
|
-
deps:
|
|
314
|
-
- task: :engine:_ts-build
|
|
315
263
|
cmds:
|
|
316
264
|
- task: :engine:invoke
|
|
317
265
|
vars:
|
|
@@ -320,8 +268,6 @@ tasks:
|
|
|
320
268
|
test-boundary:
|
|
321
269
|
desc: "Test/source boundary gate (#3145): reject recognized test artifacts under production roots and production references to test/fixture roots unless allowlisted or classified production-liveness. Policy from .deft/test-boundary.policy.json or plan.policy.testBoundary; defaults are warn-only (migration). Flags: --enforce / --warn / --policy <path> / --quiet. Three-state exit (0 clean or warn / 1 violation / 2 config)."
|
|
322
270
|
dir: '{{.USER_WORKING_DIR}}'
|
|
323
|
-
deps:
|
|
324
|
-
- task: :engine:_ts-build
|
|
325
271
|
cmds:
|
|
326
272
|
- task: :engine:invoke
|
|
327
273
|
vars:
|
|
@@ -330,8 +276,6 @@ tasks:
|
|
|
330
276
|
class-checks:
|
|
331
277
|
desc: "Fail-closed class checks (#4980 / #3145 class): diff-scoped vs merge base for test-under-source, production→test-root refs, test identity in infra, and protected-glob story mixes. Independent of file_scope digests and verify:test-boundary warn mode. No approve/skip/phrase. Flags: --base-ref / --quiet. Three-state exit (0 clean / 1 violation / 2 config)."
|
|
332
278
|
dir: '{{.USER_WORKING_DIR}}'
|
|
333
|
-
deps:
|
|
334
|
-
- task: :engine:_ts-build
|
|
335
279
|
cmds:
|
|
336
280
|
- task: :engine:invoke
|
|
337
281
|
vars:
|
|
@@ -340,8 +284,6 @@ tasks:
|
|
|
340
284
|
scope-provenance:
|
|
341
285
|
desc: "Scope provenance gate (#3145 / #4956 / #4774 / #5057): merge-base file_scope is the production fence; membership fail-closes undeclared product paths. Soft findings are advisory intent-pin drift on a brief with no intent pin (#3385). --enforce is parsed for compatibility and does not change the exit code. Flags: --base-ref / --enforce / --quiet. Three-state exit (0 clean or advisory WARN / 1 fence or membership / 2 config)."
|
|
342
286
|
dir: '{{.USER_WORKING_DIR}}'
|
|
343
|
-
deps:
|
|
344
|
-
- task: :engine:_ts-build
|
|
345
287
|
cmds:
|
|
346
288
|
- task: :engine:invoke
|
|
347
289
|
vars:
|
|
@@ -350,8 +292,6 @@ tasks:
|
|
|
350
292
|
observable-scope:
|
|
351
293
|
desc: "Fail-closed observable UI scope contract (#4495): minted allowedChanges versus parse5+typescript oracle on base-pinned surfaces. Unset policy plus UI file types is inferred-defaults-warn (exit 0 with findings). Flags: --origin-ref / --staged / --quiet. Three-state exit (0 skip/warn/pass / 1 unlisted delta or missing mint / 2 config). Does not accept --base-ref."
|
|
352
294
|
dir: '{{.USER_WORKING_DIR}}'
|
|
353
|
-
deps:
|
|
354
|
-
- task: :engine:_ts-build
|
|
355
295
|
cmds:
|
|
356
296
|
- task: :engine:invoke
|
|
357
297
|
vars:
|
|
@@ -360,8 +300,6 @@ tasks:
|
|
|
360
300
|
presentation-coverage:
|
|
361
301
|
desc: "Fail-closed presentation-coverage compositor (#5079): under a recorded presentation ceiling, cannot-evaluate on a composed required gate is refuse or escalate, never pass. Arms from any add-only or tightening head restriction. Flags: --origin-ref / --staged / --plan-id / --json / --quiet. Three-state exit (0 off-ceiling or continue / 1 refuse / 2 config). Does not accept --base-ref."
|
|
362
302
|
dir: '{{.USER_WORKING_DIR}}'
|
|
363
|
-
deps:
|
|
364
|
-
- task: :engine:_ts-build
|
|
365
303
|
cmds:
|
|
366
304
|
- task: :engine:invoke
|
|
367
305
|
vars:
|
|
@@ -370,8 +308,6 @@ tasks:
|
|
|
370
308
|
intent-constraint:
|
|
371
309
|
desc: "Fail-closed intent-constraint snapshot (#4541): throw/reject/abort sites and new numeric consts in changed production .ts/.js versus merge-base pin. Human mint for value/unit/rejectionScope. Tests and in-scope paths are not authority. Flags: --origin-ref / --staged / --quiet. Three-state exit (0 skip/pass / 1 unapproved fact or missing mint / 2 config). Does not accept --base-ref."
|
|
372
310
|
dir: '{{.USER_WORKING_DIR}}'
|
|
373
|
-
deps:
|
|
374
|
-
- task: :engine:_ts-build
|
|
375
311
|
cmds:
|
|
376
312
|
- task: :engine:invoke
|
|
377
313
|
vars:
|
|
@@ -380,8 +316,6 @@ tasks:
|
|
|
380
316
|
presentation-ceiling:
|
|
381
317
|
desc: "Fail-closed presentation ceiling (#5056): under a recorded changeClass: presentation restriction, changed paths outside the built-in presentation extension set refuse. Arms from merge-base ceiling artifacts; first-PR add-only restrictions compose. Flags: --base-ref / --quiet. Three-state exit (0 skip or pass / 1 refuse / 2 config)."
|
|
382
318
|
dir: '{{.USER_WORKING_DIR}}'
|
|
383
|
-
deps:
|
|
384
|
-
- task: :engine:_ts-build
|
|
385
319
|
cmds:
|
|
386
320
|
- task: :engine:invoke
|
|
387
321
|
vars:
|
|
@@ -390,8 +324,6 @@ tasks:
|
|
|
390
324
|
durable-effect-acquisition:
|
|
391
325
|
desc: "Fail-closed in-class durable-effect acquisition under a presentation ceiling (#5080). Consumes the #5056 ceiling artifact. Refuses storage, cookies, non-GET or non-sentinel network, and markup submission in changed .tsx/.jsx/.html. skipped/N/A is not an exit under an armed ceiling. Flags: --origin-ref / --quiet. Three-state exit (0 off-ceiling or pass / 1 refuse / 2 config)."
|
|
392
326
|
dir: '{{.USER_WORKING_DIR}}'
|
|
393
|
-
deps:
|
|
394
|
-
- task: :engine:_ts-build
|
|
395
327
|
cmds:
|
|
396
328
|
- task: :engine:invoke
|
|
397
329
|
vars:
|
|
@@ -400,8 +332,6 @@ tasks:
|
|
|
400
332
|
evaluator-surface:
|
|
401
333
|
desc: "Declared evaluator-surface diff gate (#4386 / #3156): fail when Taskfile.yml, tasks/verify.yml, gate-lists, coverage config, or the detector itself changes without xbrief/evaluator-surface-disposition.json covering those paths. Disclosure only -- a commit-body issue/PR URL is not #3164 authorization. Prior color is unobserved. Flags: --base-ref / --staged / --path / --quiet. Three-state exit (0 skip or disclosed / 1 missing disposition / 2 config)."
|
|
402
334
|
dir: '{{.USER_WORKING_DIR}}'
|
|
403
|
-
deps:
|
|
404
|
-
- task: :engine:_ts-build
|
|
405
335
|
cmds:
|
|
406
336
|
- task: :engine:invoke
|
|
407
337
|
vars:
|
|
@@ -410,8 +340,6 @@ tasks:
|
|
|
410
340
|
consumer-test-lane:
|
|
411
341
|
desc: "Consumer declared-test-command lane (#4386): run plan.policy.testCommand or package.json scripts.test. Skip when undeclared -- do not invent go test ./... or a shipped-library default. Does not replace verify:ac (PRODUCT_FIRST_AC_GATE). Flags: --quiet. Three-state exit (0 skip or pass / 1 declared command failed / 2 config)."
|
|
412
342
|
dir: '{{.USER_WORKING_DIR}}'
|
|
413
|
-
deps:
|
|
414
|
-
- task: :engine:_ts-build
|
|
415
343
|
cmds:
|
|
416
344
|
- task: :engine:invoke
|
|
417
345
|
vars:
|
|
@@ -420,8 +348,6 @@ tasks:
|
|
|
420
348
|
consumer-check-contract:
|
|
421
349
|
desc: "Consumer check-composition contract (#3145): fail when tasks/verify.yml or check aggregate omit required enforcement gates (verify:test-boundary, verify:class-checks, verify:scope-provenance, verify:consumer-check-contract, verify:evaluator-surface, verify:observable-scope, verify:intent-constraint, verify:presentation-ceiling, verify:durable-effect-acquisition). CI omissions warn by default. Flags: --framework-source / --enforce / --warn / --quiet. Three-state exit (0 clean or warn / 1 missing / 2 config)."
|
|
422
350
|
dir: '{{.USER_WORKING_DIR}}'
|
|
423
|
-
deps:
|
|
424
|
-
- task: :engine:_ts-build
|
|
425
351
|
cmds:
|
|
426
352
|
- task: :engine:invoke
|
|
427
353
|
vars:
|
|
@@ -430,8 +356,6 @@ tasks:
|
|
|
430
356
|
vbrief-conformance:
|
|
431
357
|
desc: "Detect bare non-conformant vBRIEF keys (#1620). Scans tracked vbrief/**/*.vbrief.json and flags any document/plan/item key that is not 0.6 spec-core, x-directive/-namespaced, or x-vbrief/-namespaced. plan.policy + plan.completedNote carry a TEMPORARY allow-list pending vBRIEF #12. Defaults to --all; pass --staged for the pre-commit invocation."
|
|
432
358
|
dir: '{{.USER_WORKING_DIR}}'
|
|
433
|
-
deps:
|
|
434
|
-
- task: :engine:_ts-build
|
|
435
359
|
# Per `conventions/task-caching.md`: NO `sources:` / `generates:` because
|
|
436
360
|
# user-facing flags (--staged / --all / --allow-list <path>) MUST NOT be
|
|
437
361
|
# silently swallowed by go-task's incremental-build cache (same rationale
|
|
@@ -445,8 +369,6 @@ tasks:
|
|
|
445
369
|
destructive-gh-verbs:
|
|
446
370
|
desc: "Detection-bound gate for destructive gh verbs (#1019). Runs preflight-gh --self-test so the fixture-vs-classifier contract fails CI on drift. Override via DEFT_ALLOW_DESTRUCTIVE_GH_VERBS=1 (per-shell emergency bypass)."
|
|
447
371
|
dir: '{{.USER_WORKING_DIR}}'
|
|
448
|
-
deps:
|
|
449
|
-
- task: :engine:_ts-build
|
|
450
372
|
# No sources:/generates: -- the self-test fixture table is the
|
|
451
373
|
# invariant under test; we want the gate to re-run on every
|
|
452
374
|
# `task check` invocation regardless of whether the classifier file
|
|
@@ -478,8 +400,6 @@ tasks:
|
|
|
478
400
|
codebase-map-fresh:
|
|
479
401
|
desc: "Drift gate for the generated .planning/codebase/MAP.md projection (#1595 PR4)."
|
|
480
402
|
dir: '{{.USER_WORKING_DIR}}'
|
|
481
|
-
deps:
|
|
482
|
-
- task: :engine:_ts-build
|
|
483
403
|
# Per conventions/task-caching.md: no sources/generates because this gate
|
|
484
404
|
# forwards output/artifact overrides through CLI_ARGS.
|
|
485
405
|
cmds:
|
|
@@ -491,8 +411,6 @@ tasks:
|
|
|
491
411
|
spec-prd-fresh:
|
|
492
412
|
desc: "Fail-closed SPECIFICATION.md / PRD.md render-freshness gate (#4086). Re-renders to a buffer and fails on banner or projection diff. Banner canon and full projection freshness are separate assertions. Modeled on verify:codebase-map-fresh."
|
|
493
413
|
dir: '{{.USER_WORKING_DIR}}'
|
|
494
|
-
deps:
|
|
495
|
-
- task: :engine:_ts-build
|
|
496
414
|
# Per conventions/task-caching.md: no sources/generates because this gate
|
|
497
415
|
# forwards project-root through CLI_ARGS.
|
|
498
416
|
cmds:
|
|
@@ -510,8 +428,6 @@ tasks:
|
|
|
510
428
|
Distinct from fail-closed verify:spec-prd-fresh. Consumer alias:
|
|
511
429
|
task deft:verify:spec-drift.
|
|
512
430
|
dir: '{{.USER_WORKING_DIR}}'
|
|
513
|
-
deps:
|
|
514
|
-
- task: :engine:_ts-build
|
|
515
431
|
cmds:
|
|
516
432
|
- task: :engine:invoke
|
|
517
433
|
vars:
|
|
@@ -520,8 +436,6 @@ tasks:
|
|
|
520
436
|
rule-map-fresh:
|
|
521
437
|
desc: "Fail-closed docs/RULE-MAP.md renderer freshness (#4095). Alias for docs:rule-map:check. Asserts byte-identical renderer output, filled grouping purposes, pack entries from named arrays, and Taskfile declaration counts. Not a consumer gate."
|
|
522
438
|
dir: '{{.USER_WORKING_DIR}}'
|
|
523
|
-
deps:
|
|
524
|
-
- task: :engine:_ts-build
|
|
525
439
|
cmds:
|
|
526
440
|
- task: :docs:rule-map:check
|
|
527
441
|
|
|
@@ -539,8 +453,6 @@ tasks:
|
|
|
539
453
|
plan-sequence:
|
|
540
454
|
desc: "Fail-closed ordered-plan target check (#2402). Flags: --target-kind <kind> --target <id> / --json. Skips (exit 0) when no active sequence."
|
|
541
455
|
dir: '{{.USER_WORKING_DIR}}'
|
|
542
|
-
deps:
|
|
543
|
-
- task: :engine:_ts-build
|
|
544
456
|
cmds:
|
|
545
457
|
- task: :engine:invoke
|
|
546
458
|
vars:
|
|
@@ -559,8 +471,6 @@ tasks:
|
|
|
559
471
|
scm-boundary:
|
|
560
472
|
desc: "Detection-bound gate against raw `gh` / `ghx` subprocess calls (#1145 / N5). TypeScript verbs route through packages/core/src/scm/call.ts. The scanner still globs retired scripts/triage_*.py paths (vacuous; owner packages/core/src/verify-source/scm-boundary.ts SCOPE_GLOBS). Three-state exit (0 clean / 1 violations / 2 config error). Document an exception via `--allow-list <path>`."
|
|
561
473
|
dir: '{{.USER_WORKING_DIR}}'
|
|
562
|
-
deps:
|
|
563
|
-
- task: :engine:_ts-build
|
|
564
474
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
565
475
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}}
|
|
566
476
|
# (`--allow-list <path>` / `--quiet`) that go-task's incremental-build
|
|
@@ -574,8 +484,6 @@ tasks:
|
|
|
574
484
|
xbrief-drift:
|
|
575
485
|
desc: "Data-plane drift gate for the #2109 vbrief->xbrief rename. FAILS when a NEW legacy-layout token is reintroduced: a tracked `*.vbrief.json` artifact, a tracked file under a top-level `vbrief/` lifecycle dir, or a bare `x-vbrief/` reference type inside a canonical `xbrief/**/*.xbrief.json` corpus artifact. Sanctioned back-compat shims (the Part 1 layout-resolver fallback, the EXTENSION_PREFIXES legacy entry, the #2110 migrate path, the #1650 policy fallback) are TS source -- outside the scanned data plane -- and the legacy fixture trees (tests/, content/vbrief/, docs/, history/, xbrief/migration/) are allowlisted. Three-state exit (0 clean / 1 drift / 2 config error). Document an exception via `--allow-list <path>`."
|
|
576
486
|
dir: '{{.USER_WORKING_DIR}}'
|
|
577
|
-
deps:
|
|
578
|
-
- task: :engine:_ts-build
|
|
579
487
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
580
488
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}}
|
|
581
489
|
# (`--allow-list <path>` / `--staged` / `--quiet`) that go-task's
|
|
@@ -588,8 +496,6 @@ tasks:
|
|
|
588
496
|
story-ready:
|
|
589
497
|
desc: "Deterministic story-start Gate 0 (#1378 Story C). Inspects working-tree cleanliness, the target vBRIEF lifecycle (active/ + plan.status==running), and the dispatch envelope's `## Allocation context` consent token (Story A schema). Three-state exit (0 ready / 1 not ready / 2 config error). -- task verify:story-ready -- --vbrief-path <active-story-path> [--allocation-context <dispatch-envelope-file>] [--allow-dirty] [--json]"
|
|
590
498
|
dir: '{{.USER_WORKING_DIR}}'
|
|
591
|
-
deps:
|
|
592
|
-
- task: :engine:_ts-build
|
|
593
499
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
594
500
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}}
|
|
595
501
|
# (--vbrief-path / --allocation-context / --allow-dirty / --json) that
|
|
@@ -606,8 +512,6 @@ tasks:
|
|
|
606
512
|
investigation:
|
|
607
513
|
desc: "Validate a forensic investigation ledger (#1621). Promotes the forensic-research validator into a deterministic gate: the close check before Wave 5 / any causal chat. Three-state exit (0 close-ready / 1 hard failures / 2 config error). Intentionally NOT in the `task check` aggregate -- it requires a concrete --ledger path. -- task verify:investigation -- --ledger .tmp/investigations/<id>/investigation.xbrief.json [--json]"
|
|
608
514
|
dir: '{{.USER_WORKING_DIR}}'
|
|
609
|
-
deps:
|
|
610
|
-
- task: :engine:_ts-build
|
|
611
515
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
612
516
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}}
|
|
613
517
|
# (--ledger / --json) that go-task's incremental-build cache would
|
|
@@ -621,8 +525,6 @@ tasks:
|
|
|
621
525
|
architecture-sor:
|
|
622
526
|
desc: "Diff-time system-of-record architecture gate. Scans stateful persistence signals and requires a matching architecture.systemOfRecord record. Example: task verify:architecture-sor -- --base-ref origin/main [--story-path <path>]"
|
|
623
527
|
dir: '{{.USER_WORKING_DIR}}'
|
|
624
|
-
deps:
|
|
625
|
-
- task: :engine:_ts-build
|
|
626
528
|
# Per conventions/task-caching.md: no sources/generates because this gate
|
|
627
529
|
# forwards --base-ref, --story-path, and --json through CLI_ARGS.
|
|
628
530
|
cmds:
|
|
@@ -634,8 +536,6 @@ tasks:
|
|
|
634
536
|
capacity:
|
|
635
537
|
desc: "Three-state ADVISORY capacity gate (#1419 Slice 4). Reports trailing-window target-vs-actual bucket mix from plan.policy.capacityAllocation; exits 0 in the default advise posture (and on insufficient sample / unconfigured policy), 1 only under an explicit enforce posture with a sampled deficit, 2 on config error. DELIBERATELY NOT in the `task check` aggregate -- capacity must never fail-closed on the framework tree."
|
|
636
538
|
dir: '{{.USER_WORKING_DIR}}'
|
|
637
|
-
deps:
|
|
638
|
-
- task: :engine:_ts-build
|
|
639
539
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
640
540
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}}
|
|
641
541
|
# (--project-root / --quiet) that go-task's incremental-build cache would
|
|
@@ -651,8 +551,6 @@ tasks:
|
|
|
651
551
|
judgment-gates:
|
|
652
552
|
desc: "Three-state ADVISORY judgment-gate engine (#1419 Slice 3). Evaluates a candidate change (diff paths / labels / body) against plan.policy.judgmentGates + four default-on universal safety gates (secrets / infra / AGENTS.md+skills / installer). Advisory by default (always exits 0); opt-in --enforce fails closed (exit 1) when a mechanical block-tier gate fires without a recorded clearance; exit 2 on config error. -- task verify:judgment-gates [-- --base-ref <ref>] [--path P] [--label L] [--enforce] [--json]. DELIBERATELY NOT in the `task check` aggregate -- judgment gates must never fail-closed on the framework tree (advise -> observe -> block rollout, #1419)."
|
|
653
553
|
dir: '{{.USER_WORKING_DIR}}'
|
|
654
|
-
deps:
|
|
655
|
-
- task: :engine:_ts-build
|
|
656
554
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
657
555
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}}
|
|
658
556
|
# (--base-ref / --path / --label / --body / --state / --enforce / --json /
|
|
@@ -670,8 +568,6 @@ tasks:
|
|
|
670
568
|
wip-cap:
|
|
671
569
|
desc: "Pre-merge re-validation that pending/+active/ count is within plan.policy.wipCap (#1124 / D4 of #1119). Catches stale-branch merges + --force overrides. Default cap is 20 (#2319; raised from the original 10 per umbrella #1119 Current Shape v3). The framework's own task check passes --allow-over-cap during landing-day overage; consumer projects MUST NOT pass that flag."
|
|
672
570
|
dir: '{{.USER_WORKING_DIR}}'
|
|
673
|
-
deps:
|
|
674
|
-
- task: :engine:_ts-build
|
|
675
571
|
# Per `conventions/task-caching.md` (#574): NO `sources:` /
|
|
676
572
|
# `generates:` because the gate forwards user-facing flags via
|
|
677
573
|
# {{.CLI_ARGS}} (--allow-over-cap / --quiet) that go-task's
|
|
@@ -690,8 +586,6 @@ tasks:
|
|
|
690
586
|
lifecycle-visible:
|
|
691
587
|
desc: "Warn when git ignore/exclude/skip-worktree hides xbrief/vbrief lifecycle roots (#3505), including file-only and date-range globs. Per-clone, not per-commit — not on task check. Default warn-only; pass --enforce to fail closed. -- task verify:lifecycle-visible [-- --enforce]"
|
|
692
588
|
dir: '{{.USER_WORKING_DIR}}'
|
|
693
|
-
deps:
|
|
694
|
-
- task: :engine:_ts-build
|
|
695
589
|
cmds:
|
|
696
590
|
- task: :engine:invoke
|
|
697
591
|
vars:
|
|
@@ -700,8 +594,6 @@ tasks:
|
|
|
700
594
|
orphan-active:
|
|
701
595
|
desc: "Fail-closed orphan-active guard (#2321 / #3429). Detects xbrief/active/ briefs with plan.status==running whose referenced GitHub issues are all closed and/or whose linked PR is merged — the stop-at:pr-open lifecycle leak. Confirmed shipped remediates with task scope:complete / scope:cancel or swarm finalize. Unresolved GitHub lookup still exits 1 but prints a retry, not scope:complete. Three-state exit (0 clean / 1 orphan / 2 config). Pass --issue N to scan one origin after merge; --changed-only [--base-ref <ref>] for the merge-chokepoint form that evaluates only briefs the candidate's own diff touches (#3893; falls back to the repo-wide sweep at the delivery tip or on an unresolvable base ref); --skip-gh to rely on triage cache only. Issue state resolves by query shape (#3767): scoped --issue N takes an authoritative read and stays fail-closed on unknown; the unscoped sweep uses one complete open-issue inventory and stays fail-open on unknown. A cache hit counts only within 15 minutes, and every run prints the basis of its verdict — see content/docs/orphan-active-verdict-basis.md."
|
|
702
596
|
dir: '{{.USER_WORKING_DIR}}'
|
|
703
|
-
deps:
|
|
704
|
-
- task: :engine:_ts-build
|
|
705
597
|
cmds:
|
|
706
598
|
- task: :engine:invoke
|
|
707
599
|
vars:
|
|
@@ -710,8 +602,6 @@ tasks:
|
|
|
710
602
|
pr-closeout-attestable:
|
|
711
603
|
desc: "Fail-closed merge-time closeout gate (#3781). Refuses a merge when the PR's structured closing references name an issue whose brief is still running in xbrief/active/ with acceptance criteria carrying neither x-directive/evidence nor x-directive/disposition. The trigger is the closing reference, not the branch diff — CI runs before the merge and the issue closes on it, so a diff-keyed gate can never fail the PR that creates the orphan. Reuses evaluateAcceptanceEvidenceGate, the same rule scope:complete enforces. A PR that leaves an unattested brief WITHOUT closing its issue is unaffected. Three-state exit (0 attestable or closes nothing / 1 unattested closeout / 2 config or closing-reference lookup error). -- task verify:pr-closeout-attestable -- --pr N [--repo OWNER/REPO]"
|
|
712
604
|
dir: '{{.USER_WORKING_DIR}}'
|
|
713
|
-
deps:
|
|
714
|
-
- task: :engine:_ts-build
|
|
715
605
|
cmds:
|
|
716
606
|
- task: :engine:invoke
|
|
717
607
|
vars:
|
|
@@ -720,8 +610,6 @@ tasks:
|
|
|
720
610
|
completed-write-guard:
|
|
721
611
|
desc: "Fail-closed completed/ write guard (#3679). Newly added xbrief/completed/ (or vbrief/completed/) artifacts must have been written by scope:complete / scope:fail. Historical corpus is advisory via doctor. Remediation names the leftover land PR (#3476). Three-state exit (0 clean / 1 unguarded add / 2 config). Does not change verify:completed-tracked."
|
|
722
612
|
dir: '{{.USER_WORKING_DIR}}'
|
|
723
|
-
deps:
|
|
724
|
-
- task: :engine:_ts-build
|
|
725
613
|
cmds:
|
|
726
614
|
- task: :engine:invoke
|
|
727
615
|
vars:
|
|
@@ -730,8 +618,6 @@ tasks:
|
|
|
730
618
|
persisted-planning-narratives:
|
|
731
619
|
desc: "Fail-closed PROJECT-DEFINITION planning narratives gate (#5176 Prefer-A). Default = unconditional setup Phase 2 bar (empty Overview+tech stack → exit 1; missing PD → exit 2). --check-conjunct = Taskfile/check Prefer-A mirror (marker present/unreadable + empty → refuse; missing PD / scaffold-empty without marker → pass) for check:merge / check:consumer. Mid-setup parse may still accept empty strings. Remedy: deft project:write-narratives. Three-state exit (0 pass / 1 refuse / 2 config)."
|
|
732
620
|
dir: '{{.USER_WORKING_DIR}}'
|
|
733
|
-
deps:
|
|
734
|
-
- task: :engine:_ts-build
|
|
735
621
|
cmds:
|
|
736
622
|
- task: :engine:invoke
|
|
737
623
|
vars:
|
|
@@ -740,8 +626,6 @@ tasks:
|
|
|
740
626
|
consumer-header-placeholder:
|
|
741
627
|
desc: "Fail-closed first-ship AGENTS header placeholder gate (#4544 Prefer-A). Refuses when product-mutation completion still leaves the unmanaged header on the exact scaffold edit-me one-liner; Process-only and custom headers pass. Three-state exit (0 pass / 1 refuse / 2 config)."
|
|
742
628
|
dir: '{{.USER_WORKING_DIR}}'
|
|
743
|
-
deps:
|
|
744
|
-
- task: :engine:_ts-build
|
|
745
629
|
cmds:
|
|
746
630
|
- task: :engine:invoke
|
|
747
631
|
vars:
|
|
@@ -750,8 +634,6 @@ tasks:
|
|
|
750
634
|
completed-tracked:
|
|
751
635
|
desc: "Fail-closed completed-tracked land guard (#3264 / #1358 / #3476). Closed scoped GitHub issues with a known lifecycle xBRIEF origin must have a tracked xbrief/completed/ or xbrief/cancelled/ artifact on the delivery tip. --issue N is the drive-to DONE form. Remediation: task swarm:finalize-cohort or a lifecycle PR. Three-state exit (0 clean / 1 missing land / 2 config). Pass --skip-gh to rely on triage cache only; --tip to override delivery tip."
|
|
752
636
|
dir: '{{.USER_WORKING_DIR}}'
|
|
753
|
-
deps:
|
|
754
|
-
- task: :engine:_ts-build
|
|
755
637
|
cmds:
|
|
756
638
|
- task: :engine:invoke
|
|
757
639
|
vars:
|
|
@@ -760,8 +642,6 @@ tasks:
|
|
|
760
642
|
literal-ac:
|
|
761
643
|
desc: "Literal acceptance-command verification (#3267). Run stated acceptance commands from the active (or --xbrief) scope artifact VERBATIM before done — same flags/cwd. Capture-only audit: --capture-only. Three-state exit (0 pass or none stated / 1 command failed / 2 config). Extends #973; required on ceremony dial rapid/minimal (#3214). Prefer verify:ac (#3284) as the product-first primary name."
|
|
762
644
|
dir: '{{.USER_WORKING_DIR}}'
|
|
763
|
-
deps:
|
|
764
|
-
- task: :engine:_ts-build
|
|
765
645
|
cmds:
|
|
766
646
|
- task: :engine:invoke
|
|
767
647
|
vars:
|
|
@@ -770,8 +650,6 @@ tasks:
|
|
|
770
650
|
ac:
|
|
771
651
|
desc: "Product-first acceptance gate (#3284). Runs plan.acceptance.commands (or #3267 literal ledger) FIRST and never skippable when commands exist. Check composition uses --soft-missing-xbrief. Rapid ceremony = AC-only; pressure/degraded makes hygiene advisory. Capture-only: --capture-only. Three-state exit (0 pass or none / 1 fail / 2 config). Architecture for #3267."
|
|
772
652
|
dir: '{{.USER_WORKING_DIR}}'
|
|
773
|
-
deps:
|
|
774
|
-
- task: :engine:_ts-build
|
|
775
653
|
cmds:
|
|
776
654
|
- task: :engine:invoke
|
|
777
655
|
vars:
|
|
@@ -780,8 +658,6 @@ tasks:
|
|
|
780
658
|
agents-md-budget:
|
|
781
659
|
desc: "Layered AGENTS.md budget instrument (#645 + #2450). Fail-closed relative ratchet: counts the managed section and the unmanaged region separately (the #1309 propagation duplicates content across the marker) and fails when either region grows past plan.policy.agentsMdBudget. Seeded at current size, so it ships green; growth past the ratchet fails. ADVISORY absolute north-star: also reports managed-section size vs ≤8 KB / ~2k tok (#2372 layered instrument) without affecting exit codes in Wave 1. Three-state exit (0 within / 1 over ratchet / 2 config error)."
|
|
782
660
|
dir: '{{.USER_WORKING_DIR}}'
|
|
783
|
-
deps:
|
|
784
|
-
- task: :engine:_ts-build
|
|
785
661
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
786
662
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}} (--quiet).
|
|
787
663
|
cmds:
|
|
@@ -792,8 +668,6 @@ tasks:
|
|
|
792
668
|
eval-health-relocation:
|
|
793
669
|
desc: "Fail-closed eval:health no-regression gate for epic #2369 rule-relocation PRs (#2373). Classifies diffs touching AGENTS.md, content/templates/agents-entry.md, content/skills/**/SKILL.md, or content/packs/** and requires eval:health to not regress against the committed baseline at xbrief/.eval/results/eval-health-baseline.json. Skips (exit 0) when no relocation paths are in the diff. Seed baseline once with --seed-baseline after master is healthy. Three-state exit (0 pass or skip / 1 regression / 2 config error). -- task verify:eval-health-relocation [-- --base-ref <ref> | --staged] [--quiet] [--seed-baseline]"
|
|
794
670
|
dir: '{{.USER_WORKING_DIR}}'
|
|
795
|
-
deps:
|
|
796
|
-
- task: :engine:_ts-build
|
|
797
671
|
cmds:
|
|
798
672
|
- task: :engine:invoke
|
|
799
673
|
vars:
|
|
@@ -802,8 +676,6 @@ tasks:
|
|
|
802
676
|
eval-triggers-relocation:
|
|
803
677
|
desc: "Fail-closed eval:triggers gate when AGENTS.md / REFERENCES.md / trigger cases change (#1586). Skips (exit 0) when the diff does not touch trigger-routing homes. -- task verify:eval-triggers-relocation [-- --base-ref <ref> | --staged] [--quiet]"
|
|
804
678
|
dir: '{{.USER_WORKING_DIR}}'
|
|
805
|
-
deps:
|
|
806
|
-
- task: :engine:_ts-build
|
|
807
679
|
cmds:
|
|
808
680
|
- task: :engine:invoke
|
|
809
681
|
vars:
|
|
@@ -812,8 +684,6 @@ tasks:
|
|
|
812
684
|
agents-md-advisory:
|
|
813
685
|
desc: "ADVISORY (never fail-closing) consumer AGENTS.md legibility signal (#2155). Counts the UNMANAGED (project-authored) region only -- the framework-owned managed section is excluded -- and compares it against the SOFT, operator-adjustable budget plan.policy.agentsMdAdvisory.unmanagedSoftMaxLines (generous default when unset). Consumer companion to the maintainer-only #645 ratchet; deliberately NOT a check:consumer dependency (advise->observe->enforce per #1419). Default posture ALWAYS exits 0; the opt-in --enforce flag promotes an over-budget region to a hard cap (exit 1). Raising the field is the documented, no-friction way to accept growth and silence the nudge."
|
|
814
686
|
dir: '{{.USER_WORKING_DIR}}'
|
|
815
|
-
deps:
|
|
816
|
-
- task: :engine:_ts-build
|
|
817
687
|
# Per `conventions/task-caching.md` (#574): NO `sources:` / `generates:`
|
|
818
688
|
# because the gate forwards user-facing flags via {{.CLI_ARGS}} (--quiet / --enforce).
|
|
819
689
|
cmds:
|
|
@@ -824,8 +694,6 @@ tasks:
|
|
|
824
694
|
review-monitor:
|
|
825
695
|
desc: "Fail-closed review-monitor gate (#2655): when Tier 1 sub-agent primitive is available, require a recorded active review-monitor before yield / Approach 3 / review ownership. Three-state exit (0 ready / 1 not ready / 2 config error)."
|
|
826
696
|
dir: '{{.USER_WORKING_DIR}}'
|
|
827
|
-
deps:
|
|
828
|
-
- task: :engine:_ts-build
|
|
829
697
|
cmds:
|
|
830
698
|
- task: :engine:invoke
|
|
831
699
|
vars:
|
|
@@ -834,8 +702,6 @@ tasks:
|
|
|
834
702
|
cohort-review-monitors:
|
|
835
703
|
desc: "Fail-closed cohort babysit inventory (#5318): classify each listed PR armed-live / halted-explicit / unarmed via per-PR merge-path-arm --live-wait. Exit 0 only when all listed are armed-live or halted-explicit; empty/malformed PR set exit 2. swarm:verify-review-clean CLEAN does not satisfy this inventory."
|
|
836
704
|
dir: '{{.USER_WORKING_DIR}}'
|
|
837
|
-
deps:
|
|
838
|
-
- task: :engine:_ts-build
|
|
839
705
|
cmds:
|
|
840
706
|
- task: :engine:invoke
|
|
841
707
|
vars:
|
|
@@ -844,8 +710,6 @@ tasks:
|
|
|
844
710
|
l4-owner:
|
|
845
711
|
desc: "Owner Continuity / L4 owner gate (#3090): exit 0 only if sticky review-owner lease is fresh or --review-cycle done (forbid freeform started/pending). Three-state exit (0 ready / 1 silent hold / 2 config)."
|
|
846
712
|
dir: '{{.USER_WORKING_DIR}}'
|
|
847
|
-
deps:
|
|
848
|
-
- task: :engine:_ts-build
|
|
849
713
|
cmds:
|
|
850
714
|
- task: :engine:invoke
|
|
851
715
|
vars:
|
|
@@ -854,8 +718,6 @@ tasks:
|
|
|
854
718
|
subagent-alive:
|
|
855
719
|
desc: "Fail-closed worker liveness gate (#2824): missing/STALE heartbeats for in-flight drive-to:merge* workers exit 1 with REDISPATCH_OK. Three-state exit (0 alive / 1 stale-or-missing / 2 config error)."
|
|
856
720
|
dir: '{{.USER_WORKING_DIR}}'
|
|
857
|
-
deps:
|
|
858
|
-
- task: :engine:_ts-build
|
|
859
721
|
cmds:
|
|
860
722
|
- task: :engine:invoke
|
|
861
723
|
vars:
|
|
@@ -864,8 +726,6 @@ tasks:
|
|
|
864
726
|
subagent-steer:
|
|
865
727
|
desc: "Parent-visible unread steer flag (#4286): exit 1 is STEER_PENDING, not REDISPATCH_OK. Three-state exit (0 none / 1 unread / 2 config)."
|
|
866
728
|
dir: '{{.USER_WORKING_DIR}}'
|
|
867
|
-
deps:
|
|
868
|
-
- task: :engine:_ts-build
|
|
869
729
|
cmds:
|
|
870
730
|
- task: :engine:invoke
|
|
871
731
|
vars:
|
|
@@ -19,8 +19,6 @@ tasks:
|
|
|
19
19
|
# resolve. Refs #1487 (the recurrence the cohort-close gate prevents).
|
|
20
20
|
desc: "Validate xBRIEF lifecycle folder structure and cross-file consistency. Alias of vbrief:validate with xbrief-first naming (#3483)."
|
|
21
21
|
dir: '{{.USER_WORKING_DIR}}'
|
|
22
|
-
deps:
|
|
23
|
-
- task: :engine:_ts-build
|
|
24
22
|
cmds:
|
|
25
23
|
# Layout-aware (#2109 part 2a): pass --project-root and let the engine
|
|
26
24
|
# resolve the lifecycle dir (xbrief when migrated, else vbrief).
|
|
@@ -35,8 +33,6 @@ tasks:
|
|
|
35
33
|
# Legacy `task vbrief:preflight -- <path>` remains accepted for the same gate.
|
|
36
34
|
desc: "Preflight an implementation-intent gate (#810): exits 0 only when the xBRIEF is in xbrief/active/ AND plan.status == 'running'. Alias of vbrief:preflight with xbrief-first help."
|
|
37
35
|
dir: '{{.USER_WORKING_DIR}}'
|
|
38
|
-
deps:
|
|
39
|
-
- task: :engine:_ts-build
|
|
40
36
|
cmds:
|
|
41
37
|
- task: :engine:invoke
|
|
42
38
|
vars:
|
|
@@ -55,8 +51,6 @@ tasks:
|
|
|
55
51
|
# skip would silently swallow it.
|
|
56
52
|
desc: "Activate an xBRIEF: pending/ -> active/ (status: running). Idempotent. Alias of vbrief:activate with xbrief-first naming (#810 / #3483)."
|
|
57
53
|
dir: '{{.USER_WORKING_DIR}}'
|
|
58
|
-
deps:
|
|
59
|
-
- task: :engine:_ts-build
|
|
60
54
|
cmds:
|
|
61
55
|
- task: :engine:invoke
|
|
62
56
|
vars:
|
|
@@ -58,8 +58,11 @@ Read, do not restate:
|
|
|
58
58
|
| Variant selection | Stop 2 — Variant selection |
|
|
59
59
|
| Parent-facing dispatch rules | Parent-facing dispatch rules |
|
|
60
60
|
| Critic method | Critic method |
|
|
61
|
+
| Bound remedy thinness (Thin Fail-Closed #3265) | Critic method / Successor lean |
|
|
61
62
|
| Envelope and ceiling | Envelope and ceiling |
|
|
62
63
|
| Pain-audit targeting | Pain coverage / Yolo leftover-pain |
|
|
64
|
+
| Writing-bar footnote PA posture (#3368) | Pain coverage (#4496) |
|
|
65
|
+
| Remint Bound remedy for mechanism change only | Successor lean |
|
|
63
66
|
| Seat families / Grok Build launcher | Envelope and ceiling |
|
|
64
67
|
| Comment lead (model then role) | Stop 3 — Critic envelope |
|
|
65
68
|
| Fresh reiteration | Stop 4 — Residual reiteration |
|