@deftai/directive-core 0.105.0 → 0.107.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/dist/authz/classify.js +591 -34
- package/dist/check/gate-lists.js +2 -0
- package/dist/check/named-cause.js +1 -1
- package/dist/design-critique/exclusive-chip.d.ts +33 -0
- package/dist/design-critique/exclusive-chip.js +68 -0
- package/dist/design-critique/parent-audit.d.ts +59 -0
- package/dist/design-critique/parent-audit.js +121 -0
- package/dist/doctor/checks.d.ts +6 -0
- package/dist/doctor/checks.js +35 -0
- package/dist/forward-coverage/diff-coverage.d.ts +39 -0
- package/dist/forward-coverage/diff-coverage.js +112 -0
- package/dist/forward-coverage/diff-lines.d.ts +19 -0
- package/dist/forward-coverage/diff-lines.js +173 -0
- package/dist/forward-coverage/evaluate.d.ts +24 -9
- package/dist/forward-coverage/evaluate.js +125 -19
- package/dist/hooks/dest-form.d.ts +46 -0
- package/dist/hooks/dest-form.js +575 -0
- package/dist/hooks/dispatcher.d.ts +17 -1
- package/dist/hooks/dispatcher.js +82 -11
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/init-deposit/agent-hooks.d.ts +1 -1
- package/dist/init-deposit/agent-hooks.js +1 -1
- package/dist/intake/clause-derivation.d.ts +9 -0
- package/dist/intake/clause-derivation.js +30 -3
- package/dist/intake/github-auth-modes-cli.js +14 -2
- package/dist/intake/github-auth-modes.d.ts +54 -9
- package/dist/intake/github-auth-modes.js +326 -123
- package/dist/lifecycle/completed-tracked-on-delivery.d.ts +26 -0
- package/dist/lifecycle/completed-tracked-on-delivery.js +37 -14
- package/dist/lifecycle/completed-write-guard.d.ts +48 -0
- package/dist/lifecycle/completed-write-guard.js +373 -0
- package/dist/lifecycle/index.d.ts +1 -0
- package/dist/lifecycle/index.js +1 -0
- package/dist/lifecycle-visible/evaluate.d.ts +98 -0
- package/dist/lifecycle-visible/evaluate.js +710 -0
- package/dist/lifecycle-visible/index.d.ts +2 -0
- package/dist/lifecycle-visible/index.js +2 -0
- package/dist/literal-acceptance/capture.d.ts +16 -0
- package/dist/literal-acceptance/capture.js +78 -10
- package/dist/literal-acceptance/evaluate.js +25 -3
- package/dist/literal-acceptance/index.d.ts +2 -2
- package/dist/literal-acceptance/index.js +2 -2
- package/dist/literal-acceptance/run.js +9 -3
- package/dist/literal-acceptance/types.d.ts +6 -0
- package/dist/literal-acceptance/types.js +6 -0
- package/dist/orchestration/judgment-policy.d.ts +13 -0
- package/dist/orchestration/judgment-policy.js +15 -0
- package/dist/orchestration/probe-session.js +13 -8
- package/dist/orchestration/verify-judgment-gates.d.ts +4 -0
- package/dist/orchestration/verify-judgment-gates.js +43 -11
- package/dist/policy/ceremony-dial.js +7 -7
- package/dist/policy/host-hooks.d.ts +20 -0
- package/dist/policy/host-hooks.js +121 -2
- package/dist/policy/org-force-on-migration.js +2 -1
- package/dist/policy/plan-extensions.d.ts +1 -1
- package/dist/policy/plan-extensions.js +2 -0
- package/dist/policy/product-signal.js +6 -7
- package/dist/policy/require-human-merge.js +8 -6
- package/dist/policy/resolve.d.ts +7 -2
- package/dist/policy/resolve.js +25 -8
- package/dist/policy/runtime-authority.d.ts +18 -0
- package/dist/policy/runtime-authority.js +11 -0
- package/dist/policy/value-feedback.js +7 -8
- package/dist/policy/write-fence.js +3 -0
- package/dist/preflight-cache/evaluate.d.ts +12 -0
- package/dist/preflight-cache/evaluate.js +24 -4
- package/dist/preflight-cache/index.d.ts +1 -1
- package/dist/preflight-cache/index.js +1 -1
- package/dist/product-first-done-gate/evaluate.d.ts +4 -0
- package/dist/product-first-done-gate/evaluate.js +82 -10
- package/dist/release/closed-verb-gate.d.ts +12 -0
- package/dist/release/closed-verb-gate.js +51 -0
- package/dist/release/index.d.ts +1 -0
- package/dist/release/index.js +1 -0
- package/dist/release/pipeline.js +7 -0
- package/dist/release/types.d.ts +12 -0
- package/dist/render/constants.d.ts +2 -1
- package/dist/render/constants.js +2 -1
- package/dist/render/framework-commands.js +4 -0
- package/dist/render/spec-validate.js +23 -12
- package/dist/run-summary/types.d.ts +4 -0
- package/dist/scm/design-critique-chip.d.ts +37 -0
- package/dist/scm/design-critique-chip.js +171 -0
- package/dist/scm/index.d.ts +1 -0
- package/dist/scm/index.js +1 -0
- package/dist/scm/main.d.ts +3 -0
- package/dist/scm/main.js +15 -1
- package/dist/scm/readiness-cli.d.ts +2 -0
- package/dist/scm/readiness-cli.js +42 -1
- package/dist/scm/readiness.d.ts +2 -1
- package/dist/scm/readiness.js +7 -1
- package/dist/scope/decompose.js +2 -1
- package/dist/scope/delivery-evidence.d.ts +27 -1
- package/dist/scope/index.d.ts +1 -0
- package/dist/scope/index.js +1 -0
- package/dist/scope/lifecycle-write.d.ts +24 -0
- package/dist/scope/lifecycle-write.js +64 -0
- package/dist/scope/main.js +18 -6
- package/dist/scope/promote-from-issue.js +5 -5
- package/dist/scope/transition.js +90 -11
- package/dist/scope-provenance/evaluate.js +8 -4
- package/dist/session/ac-pass-banking.d.ts +5 -0
- package/dist/session/ac-pass-banking.js +3 -2
- package/dist/session/git.d.ts +18 -0
- package/dist/session/git.js +81 -1
- package/dist/session/occupancy.d.ts +2 -1
- package/dist/session/occupancy.js +11 -4
- package/dist/session/process-cost.d.ts +32 -10
- package/dist/session/process-cost.js +189 -1
- package/dist/session/product-state-hash.js +41 -24
- package/dist/session/ritual-entrypoint.js +16 -1
- package/dist/session/session-start.d.ts +18 -0
- package/dist/session/session-start.js +49 -2
- package/dist/session/verify-session-ritual.d.ts +46 -4
- package/dist/session/verify-session-ritual.js +118 -10
- package/dist/swarm/finalize-cohort-cli.d.ts +7 -2
- package/dist/swarm/finalize-cohort-cli.js +165 -35
- package/dist/swarm/finalize-cohort.d.ts +1 -0
- package/dist/swarm/finalize-cohort.js +14 -2
- package/dist/swarm/launch.d.ts +69 -0
- package/dist/swarm/launch.js +191 -1
- package/dist/swarm/routing-set-cli.js +2 -0
- package/dist/swarm/routing-verify.d.ts +1 -1
- package/dist/swarm/routing-verify.js +2 -2
- package/dist/triage/actions/index.d.ts +4 -0
- package/dist/triage/actions/index.js +6 -0
- package/dist/triage/bootstrap/index.js +6 -6
- package/dist/triage/evaluate/evaluate.d.ts +11 -0
- package/dist/triage/evaluate/evaluate.js +169 -0
- package/dist/triage/evaluate/github.d.ts +16 -0
- package/dist/triage/evaluate/github.js +153 -0
- package/dist/triage/evaluate/index.d.ts +9 -0
- package/dist/triage/evaluate/index.js +8 -0
- package/dist/triage/evaluate/paths.d.ts +7 -0
- package/dist/triage/evaluate/paths.js +25 -0
- package/dist/triage/evaluate/sink.d.ts +5 -0
- package/dist/triage/evaluate/sink.js +52 -0
- package/dist/triage/evaluate/types.d.ts +93 -0
- package/dist/triage/evaluate/types.js +13 -0
- package/dist/triage/evaluate/validity.d.ts +8 -0
- package/dist/triage/evaluate/validity.js +87 -0
- package/dist/triage/evaluate/value.d.ts +12 -0
- package/dist/triage/evaluate/value.js +33 -0
- package/dist/triage/evaluate/wip-census.d.ts +5 -0
- package/dist/triage/evaluate/wip-census.js +39 -0
- package/dist/triage/evaluate/worktrees.d.ts +8 -0
- package/dist/triage/evaluate/worktrees.js +68 -0
- package/dist/triage/evaluate/xbrief-refs.d.ts +8 -0
- package/dist/triage/evaluate/xbrief-refs.js +60 -0
- package/dist/triage/help/registry-data.d.ts +22 -8
- package/dist/triage/help/registry-data.js +54 -6
- package/dist/triage/index.d.ts +1 -0
- package/dist/triage/index.js +1 -0
- package/dist/triage/welcome/writers.d.ts +1 -1
- package/dist/triage/welcome/writers.js +10 -5
- package/dist/value/feedback-file.d.ts +17 -2
- package/dist/value/feedback-file.js +80 -6
- package/dist/value/readback.d.ts +4 -1
- package/dist/value/readback.js +51 -12
- package/dist/vbrief-reconcile/labels.d.ts +1 -0
- package/dist/vbrief-reconcile/labels.js +30 -0
- package/dist/vbrief-validate/schema.d.ts +4 -0
- package/dist/vbrief-validate/schema.js +1 -1
- package/dist/vbrief-validation/story-quality.d.ts +7 -0
- package/dist/vbrief-validation/story-quality.js +8 -1
- package/dist/verify-env/agent-hook-readiness.d.ts +2 -2
- package/dist/verify-env/agent-hook-readiness.js +12 -8
- package/dist/verify-env/agent-hooks-live-probe.d.ts +5 -1
- package/dist/verify-env/agent-hooks-live-probe.js +26 -5
- package/dist/verify-env/agent-hooks.js +3 -4
- package/dist/xbrief-migrate/agents-header.js +69 -7
- package/package.json +7 -3
|
@@ -6,14 +6,14 @@ import { MIGRATED_ARTIFACT_DIR } from "./constants.js";
|
|
|
6
6
|
import { isDirectory } from "./fs-helpers.js";
|
|
7
7
|
/**
|
|
8
8
|
* Bounded, ordered set of legacy crossover tokens rewritten in the UNMANAGED
|
|
9
|
-
* region of a consumer AGENTS.md after `migrate:xbrief` (#2154 / Option A).
|
|
9
|
+
* region of a consumer AGENTS.md after `migrate:xbrief` (#2154 / Option A / #3637).
|
|
10
10
|
*
|
|
11
11
|
* Each entry is a mechanical path / verb literal — NOT freeform prose. The
|
|
12
12
|
* casing-only `vBRIEF format` product-description token from the issue table is
|
|
13
|
-
* intentionally excluded so freeform prose survives untouched.
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
13
|
+
* intentionally excluded so freeform prose survives untouched. `.vbrief.json`
|
|
14
|
+
* and `vbrief:preflight` are substring hits. `vbrief/` is left-bound and only
|
|
15
|
+
* a hard hit when a child segment follows (`vbrief/active/...`); bare
|
|
16
|
+
* `vbrief/` and `x-vbrief/` are not rewritten. A second pass is a no-op.
|
|
17
17
|
*/
|
|
18
18
|
/** Refuse migrate header writes that escape via repo-controlled symlinks (#2668). */
|
|
19
19
|
function projectionTarget(projectDir, ...relSegments) {
|
|
@@ -26,6 +26,8 @@ export const LEGACY_HEADER_TOKENS = [
|
|
|
26
26
|
{ legacy: "vbrief:preflight", migrated: "xbrief:preflight" },
|
|
27
27
|
{ legacy: "vbrief/", migrated: "xbrief/" },
|
|
28
28
|
];
|
|
29
|
+
const VBRIEF_DIR = "vbrief/";
|
|
30
|
+
const XBRIEF_DIR = "xbrief/";
|
|
29
31
|
function countOccurrences(haystack, needle) {
|
|
30
32
|
if (needle.length === 0)
|
|
31
33
|
return 0;
|
|
@@ -37,10 +39,70 @@ function countOccurrences(haystack, needle) {
|
|
|
37
39
|
}
|
|
38
40
|
return count;
|
|
39
41
|
}
|
|
42
|
+
/** `x-vbrief/` is not a `vbrief/` hit; ident/hyphen continue the token. */
|
|
43
|
+
function isLeftBoundAt(text, index) {
|
|
44
|
+
if (index === 0)
|
|
45
|
+
return true;
|
|
46
|
+
return !/[A-Za-z0-9_-]/.test(text[index - 1]);
|
|
47
|
+
}
|
|
48
|
+
/** Child path segment after `vbrief/` — not whitespace, fence close, or EOS. */
|
|
49
|
+
function hasVbriefChildSegment(text, index) {
|
|
50
|
+
const after = index + VBRIEF_DIR.length;
|
|
51
|
+
if (after >= text.length)
|
|
52
|
+
return false;
|
|
53
|
+
const ch = text[after];
|
|
54
|
+
return ch !== "/" && ch !== "`" && !/\s/.test(ch);
|
|
55
|
+
}
|
|
56
|
+
function isHardVbriefDirHit(text, index) {
|
|
57
|
+
return isLeftBoundAt(text, index) && hasVbriefChildSegment(text, index);
|
|
58
|
+
}
|
|
59
|
+
function hasHardVbriefDirHit(text) {
|
|
60
|
+
let index = text.indexOf(VBRIEF_DIR);
|
|
61
|
+
while (index !== -1) {
|
|
62
|
+
if (isHardVbriefDirHit(text, index))
|
|
63
|
+
return true;
|
|
64
|
+
index = text.indexOf(VBRIEF_DIR, index + VBRIEF_DIR.length);
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
/** Rewrite left-bound `vbrief/` + child; leave bare `vbrief/` and `x-vbrief/`. */
|
|
69
|
+
function rewriteLeftBoundVbriefDir(slice) {
|
|
70
|
+
let out = "";
|
|
71
|
+
let cursor = 0;
|
|
72
|
+
let count = 0;
|
|
73
|
+
let index = slice.indexOf(VBRIEF_DIR);
|
|
74
|
+
while (index !== -1) {
|
|
75
|
+
out += slice.slice(cursor, index);
|
|
76
|
+
if (isHardVbriefDirHit(slice, index)) {
|
|
77
|
+
out += XBRIEF_DIR;
|
|
78
|
+
count += 1;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
out += VBRIEF_DIR;
|
|
82
|
+
}
|
|
83
|
+
cursor = index + VBRIEF_DIR.length;
|
|
84
|
+
index = slice.indexOf(VBRIEF_DIR, cursor);
|
|
85
|
+
}
|
|
86
|
+
out += slice.slice(cursor);
|
|
87
|
+
return { next: out, count };
|
|
88
|
+
}
|
|
89
|
+
function unmanagedHitsLegacyToken(unmanaged, legacy) {
|
|
90
|
+
if (legacy === VBRIEF_DIR)
|
|
91
|
+
return hasHardVbriefDirHit(unmanaged);
|
|
92
|
+
return unmanaged.includes(legacy);
|
|
93
|
+
}
|
|
40
94
|
/** Rewrite the bounded legacy tokens inside a single unmanaged text slice. */
|
|
41
95
|
function rewriteSlice(slice, tally) {
|
|
42
96
|
let next = slice;
|
|
43
97
|
for (const { legacy, migrated } of LEGACY_HEADER_TOKENS) {
|
|
98
|
+
if (legacy === VBRIEF_DIR) {
|
|
99
|
+
const rewritten = rewriteLeftBoundVbriefDir(next);
|
|
100
|
+
if (rewritten.count === 0)
|
|
101
|
+
continue;
|
|
102
|
+
tally.set(legacy, (tally.get(legacy) ?? 0) + rewritten.count);
|
|
103
|
+
next = rewritten.next;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
44
106
|
const occurrences = countOccurrences(next, legacy);
|
|
45
107
|
if (occurrences === 0)
|
|
46
108
|
continue;
|
|
@@ -172,7 +234,7 @@ export function detectStaleUnmanagedHeader(projectRoot, readText = (path) => {
|
|
|
172
234
|
cursor = end;
|
|
173
235
|
}
|
|
174
236
|
unmanaged += content.slice(cursor);
|
|
175
|
-
const matches = LEGACY_HEADER_TOKENS.filter((t) => unmanaged
|
|
237
|
+
const matches = LEGACY_HEADER_TOKENS.filter((t) => unmanagedHitsLegacyToken(unmanaged, t.legacy)).map((t) => t.legacy);
|
|
176
238
|
return { stale: matches.length > 0, matches };
|
|
177
239
|
}
|
|
178
240
|
/** One-line doctor / ritual signpost for the #2154 stale-header regression. */
|
|
@@ -183,6 +245,6 @@ export function renderStaleHeaderLine(projectRoot, readText) {
|
|
|
183
245
|
}
|
|
184
246
|
return (`AGENTS.md header drift: xbrief/ tree present but the unmanaged AGENTS.md header still ` +
|
|
185
247
|
`references legacy token(s) ${matches.join(", ")}. ` +
|
|
186
|
-
"
|
|
248
|
+
"Hand-edit the unmanaged header path literals.");
|
|
187
249
|
}
|
|
188
250
|
//# sourceMappingURL=agents-header.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deftai/directive-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.107.0",
|
|
4
4
|
"description": "TypeScript engine core for the Directive framework.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -283,6 +283,10 @@
|
|
|
283
283
|
"types": "./dist/lifecycle/index.d.ts",
|
|
284
284
|
"default": "./dist/lifecycle/index.js"
|
|
285
285
|
},
|
|
286
|
+
"./lifecycle-visible": {
|
|
287
|
+
"types": "./dist/lifecycle-visible/index.d.ts",
|
|
288
|
+
"default": "./dist/lifecycle-visible/index.js"
|
|
289
|
+
},
|
|
286
290
|
"./literal-acceptance": {
|
|
287
291
|
"types": "./dist/literal-acceptance/index.d.ts",
|
|
288
292
|
"default": "./dist/literal-acceptance/index.js"
|
|
@@ -382,8 +386,8 @@
|
|
|
382
386
|
"provenance": true
|
|
383
387
|
},
|
|
384
388
|
"dependencies": {
|
|
385
|
-
"@deftai/directive-content": "^0.
|
|
386
|
-
"@deftai/directive-types": "^0.
|
|
389
|
+
"@deftai/directive-content": "^0.107.0",
|
|
390
|
+
"@deftai/directive-types": "^0.107.0",
|
|
387
391
|
"archiver": "^8.0.0"
|
|
388
392
|
},
|
|
389
393
|
"scripts": {
|