instar 1.3.867 → 1.3.869
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/core/StandingDriveSchema.d.ts +8 -0
- package/dist/core/StandingDriveSchema.d.ts.map +1 -1
- package/dist/core/StandingDriveSchema.js +85 -16
- package/dist/core/StandingDriveSchema.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.868.md +23 -0
- package/upgrades/1.3.869.md +36 -0
- package/upgrades/side-effects/cmt872-apprenticeship-concepts.md +49 -0
- package/upgrades/side-effects/standing-drive-slice2.md +91 -0
- package/upgrades/standing-drive-slice2.eli16.md +9 -0
|
@@ -70,6 +70,12 @@ export type StandingDriveActionRequest = {
|
|
|
70
70
|
constraints?: Record<string, string | string[] | boolean>;
|
|
71
71
|
};
|
|
72
72
|
export type StandingDriveActionDecision = 'allow' | 'hold:not-enumerated' | 'hold:phase-mismatch' | 'hold:constraint-mismatch' | 'hold:ineligible-extension' | 'hold:corrupt';
|
|
73
|
+
export interface StandingDriveActionDerivationV1 {
|
|
74
|
+
decision: StandingDriveActionDecision;
|
|
75
|
+
matchedRuleId: string | null;
|
|
76
|
+
envelopeDigest: string | null;
|
|
77
|
+
decisionDigest: string;
|
|
78
|
+
}
|
|
73
79
|
export declare function canonicalizeCreationKey(topicId: string, source: StandingDriveSource, verifiedEventId: string, requestDigest: string): string;
|
|
74
80
|
export declare function computeCreationKey(topicId: string, authority: Pick<StandingDriveAuthorityV1, 'source' | 'verifiedEventId'>, requestDigest: string): string;
|
|
75
81
|
export declare function canonicalizeEnvelope(input: Omit<StandingDriveEnvelopeV1, 'digest'>): string;
|
|
@@ -85,6 +91,8 @@ export declare function computeSemanticFingerprint(input: {
|
|
|
85
91
|
}): string;
|
|
86
92
|
export declare function validateStandingDriveExtensionV1(value: unknown, topicId?: string): value is StandingDriveExtensionV1;
|
|
87
93
|
/** Scope membership only; effects must also compose aliveness, breaker eligibility, and authority rebind. */
|
|
94
|
+
export declare function deriveActionDecisionDetailed(extension: unknown, phaseId: unknown, request: unknown): StandingDriveActionDerivationV1;
|
|
95
|
+
/** Compatibility projection for callers that only need the closed decision enum. */
|
|
88
96
|
export declare function deriveActionDecision(extension: unknown, phaseId: string, request: StandingDriveActionRequest): StandingDriveActionDecision;
|
|
89
97
|
export declare function checkAuthorityRebind(extension: unknown, current: {
|
|
90
98
|
operatorPrincipalHash: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandingDriveSchema.d.ts","sourceRoot":"","sources":["../../src/core/StandingDriveSchema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StandingDriveSchema.d.ts","sourceRoot":"","sources":["../../src/core/StandingDriveSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,37 @@ const validConstraints = (value) => {
|
|
|
24
24
|
const hash = (input) => createHash('sha256').update(input).digest('hex');
|
|
25
25
|
const codeUnitCompare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
26
26
|
const orderedObject = (value) => Object.entries(value ?? {}).sort(([a], [b]) => codeUnitCompare(a, b)).map(([k, v]) => [k, Array.isArray(v) ? [...v].sort(codeUnitCompare) : v]);
|
|
27
|
+
const canonicalScopedPath = (value) => {
|
|
28
|
+
if (value === '.')
|
|
29
|
+
return '.';
|
|
30
|
+
if (value.startsWith('/') || /^[A-Za-z]:/.test(value) || value.includes('\\') || value.includes('//'))
|
|
31
|
+
return null;
|
|
32
|
+
const withoutTrailingSlash = value.endsWith('/') ? value.slice(0, -1) : value;
|
|
33
|
+
const segments = withoutTrailingSlash.split('/');
|
|
34
|
+
if (segments.length === 0 || segments.some((segment) => segment === '.' || segment === '..'))
|
|
35
|
+
return null;
|
|
36
|
+
return segments.join('/');
|
|
37
|
+
};
|
|
38
|
+
const targetMatches = (domain, frozenTarget, requestedTarget) => {
|
|
39
|
+
if (domain !== 'git' && domain !== 'local-read-test')
|
|
40
|
+
return frozenTarget === requestedTarget;
|
|
41
|
+
const frozen = canonicalScopedPath(frozenTarget);
|
|
42
|
+
const requested = canonicalScopedPath(requestedTarget);
|
|
43
|
+
if (!frozen || !requested)
|
|
44
|
+
return false;
|
|
45
|
+
return frozen === '.' || requested === frozen || requested.startsWith(`${frozen}/`);
|
|
46
|
+
};
|
|
47
|
+
const validActionRequest = (value) => {
|
|
48
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
49
|
+
return false;
|
|
50
|
+
if (Object.keys(value).some((key) => !['domain', 'operation', 'target', 'constraints'].includes(key)))
|
|
51
|
+
return false;
|
|
52
|
+
const request = value;
|
|
53
|
+
return ACTION_DOMAINS.includes(request.domain)
|
|
54
|
+
&& typeof request.operation === 'string' && ID.test(request.operation)
|
|
55
|
+
&& boundedText(request.target)
|
|
56
|
+
&& validConstraints(request.constraints);
|
|
57
|
+
};
|
|
27
58
|
export function canonicalizeCreationKey(topicId, source, verifiedEventId, requestDigest) {
|
|
28
59
|
return JSON.stringify(['standing-drive-creation-v1', topicId, source, verifiedEventId, requestDigest]);
|
|
29
60
|
}
|
|
@@ -77,7 +108,9 @@ export function validateStandingDriveExtensionV1(value, topicId) {
|
|
|
77
108
|
&& Array.isArray(p.criterionIds) && uniqueStrings(p.criterionIds, MAX_CRITERIA)
|
|
78
109
|
&& Array.isArray(p.actionRuleIds) && uniqueStrings(p.actionRuleIds, MAX_RULES)))
|
|
79
110
|
return false;
|
|
80
|
-
if (!e.allowedActions.every((r) => ID.test(r.id) && ACTION_DOMAINS.includes(r.domain) && ID.test(r.operation) && Array.isArray(r.targets) && r.targets.length > 0 && r.targets.length <= 64
|
|
111
|
+
if (!e.allowedActions.every((r) => ID.test(r.id) && ACTION_DOMAINS.includes(r.domain) && ID.test(r.operation) && Array.isArray(r.targets) && r.targets.length > 0 && r.targets.length <= 64
|
|
112
|
+
&& r.targets.every((t) => boundedText(t) && (!['git', 'local-read-test'].includes(r.domain) || canonicalScopedPath(t) !== null))
|
|
113
|
+
&& validConstraints(r.constraints)))
|
|
81
114
|
return false;
|
|
82
115
|
if (!e.acceptanceCriteria.every((c) => ID.test(c.id) && ID.test(c.kind)))
|
|
83
116
|
return false;
|
|
@@ -117,22 +150,58 @@ export function validateStandingDriveExtensionV1(value, topicId) {
|
|
|
117
150
|
}
|
|
118
151
|
}
|
|
119
152
|
/** Scope membership only; effects must also compose aliveness, breaker eligibility, and authority rebind. */
|
|
153
|
+
export function deriveActionDecisionDetailed(extension, phaseId, request) {
|
|
154
|
+
let decision = 'hold:corrupt';
|
|
155
|
+
let matchedRuleId = null;
|
|
156
|
+
let envelopeDigest = null;
|
|
157
|
+
let canonicalRequest = ['invalid-request'];
|
|
158
|
+
if (extension && typeof extension === 'object' && extension.schemaVersion !== 1) {
|
|
159
|
+
decision = 'hold:ineligible-extension';
|
|
160
|
+
}
|
|
161
|
+
else if (validateStandingDriveExtensionV1(extension)) {
|
|
162
|
+
envelopeDigest = extension.envelope.digest;
|
|
163
|
+
if (typeof phaseId === 'string' && ID.test(phaseId) && validActionRequest(request)) {
|
|
164
|
+
const canonicalTarget = request.domain === 'git' || request.domain === 'local-read-test'
|
|
165
|
+
? canonicalScopedPath(request.target) ?? ['invalid-scoped-path', request.target]
|
|
166
|
+
: request.target;
|
|
167
|
+
canonicalRequest = [request.domain, request.operation, canonicalTarget, orderedObject(request.constraints)];
|
|
168
|
+
const phase = extension.envelope.phases.find((candidate) => candidate.id === phaseId);
|
|
169
|
+
if (!phase || extension.cursor.phaseId !== phaseId || phase.domain !== request.domain) {
|
|
170
|
+
decision = 'hold:phase-mismatch';
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const candidates = extension.envelope.allowedActions.filter((rule) => phase.actionRuleIds.includes(rule.id) && rule.domain === request.domain && rule.operation === request.operation)
|
|
174
|
+
.sort((a, b) => codeUnitCompare(a.id, b.id));
|
|
175
|
+
if (candidates.length === 0) {
|
|
176
|
+
decision = 'hold:not-enumerated';
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
const matched = candidates.find((rule) => rule.targets.some((target) => targetMatches(rule.domain, target, request.target))
|
|
180
|
+
&& JSON.stringify(orderedObject(rule.constraints)) === JSON.stringify(orderedObject(request.constraints)));
|
|
181
|
+
if (matched) {
|
|
182
|
+
decision = 'allow';
|
|
183
|
+
matchedRuleId = matched.id;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
decision = 'hold:constraint-mismatch';
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const decisionDigest = hash(JSON.stringify([
|
|
193
|
+
'standing-drive-action-derivation-v1',
|
|
194
|
+
envelopeDigest,
|
|
195
|
+
typeof phaseId === 'string' ? phaseId : null,
|
|
196
|
+
canonicalRequest,
|
|
197
|
+
decision,
|
|
198
|
+
matchedRuleId,
|
|
199
|
+
]));
|
|
200
|
+
return { decision, matchedRuleId, envelopeDigest, decisionDigest };
|
|
201
|
+
}
|
|
202
|
+
/** Compatibility projection for callers that only need the closed decision enum. */
|
|
120
203
|
export function deriveActionDecision(extension, phaseId, request) {
|
|
121
|
-
|
|
122
|
-
return 'hold:corrupt';
|
|
123
|
-
if (extension.schemaVersion !== 1)
|
|
124
|
-
return 'hold:ineligible-extension';
|
|
125
|
-
if (!validateStandingDriveExtensionV1(extension))
|
|
126
|
-
return 'hold:corrupt';
|
|
127
|
-
const ext = extension;
|
|
128
|
-
const phase = ext.envelope.phases.find((p) => p.id === phaseId);
|
|
129
|
-
if (!phase || ext.cursor.phaseId !== phaseId || phase.domain !== request.domain)
|
|
130
|
-
return 'hold:phase-mismatch';
|
|
131
|
-
const candidates = ext.envelope.allowedActions.filter((r) => phase.actionRuleIds.includes(r.id) && r.domain === request.domain && r.operation === request.operation);
|
|
132
|
-
if (candidates.length === 0)
|
|
133
|
-
return 'hold:not-enumerated';
|
|
134
|
-
const matched = candidates.some((r) => r.targets.includes(request.target) && JSON.stringify(orderedObject(r.constraints)) === JSON.stringify(orderedObject(request.constraints)));
|
|
135
|
-
return matched ? 'allow' : 'hold:constraint-mismatch';
|
|
204
|
+
return deriveActionDecisionDetailed(extension, phaseId, request).decision;
|
|
136
205
|
}
|
|
137
206
|
export function checkAuthorityRebind(extension, current) {
|
|
138
207
|
if (!validateStandingDriveExtensionV1(extension))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandingDriveSchema.js","sourceRoot":"","sources":["../../src/core/StandingDriveSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StandingDriveSchema.js","sourceRoot":"","sources":["../../src/core/StandingDriveSchema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-18T08:42:34.064Z",
|
|
5
|
+
"instarVersion": "1.3.869",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Adds StandingDrive Slice 2: a closed deterministic action-derivation authority with auditable matched-rule and decision digests, safe project-relative path-prefix evaluation, fail-closed malformed-input handling, and cross-machine-stable rule selection.
|
|
9
|
+
|
|
10
|
+
## What to Tell Your User
|
|
11
|
+
|
|
12
|
+
StandingDrive still does not execute actions yet. This release makes its frozen-scope decision mechanically auditable and proves that a merely related action cannot expand the operator-authorized envelope.
|
|
13
|
+
|
|
14
|
+
## Summary of New Capabilities
|
|
15
|
+
|
|
16
|
+
- Produce a stable, audit-grade derivation result from a frozen drive envelope.
|
|
17
|
+
- Permit approved project-relative descendants without allowing traversal or absolute-path escape.
|
|
18
|
+
- Hold malformed, future-version, wrong-phase, non-enumerated, and constraint-mismatched requests without a model call.
|
|
19
|
+
|
|
20
|
+
## Evidence
|
|
21
|
+
|
|
22
|
+
- 30 focused StandingDrive schema and derivation tests pass; 50/50 combined with store and no-silent-fallback regressions.
|
|
23
|
+
- TypeScript build and full repository lint pass locally.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
- Added `docs/apprenticeship/PROGRAM-CONCEPTS.md` — the canonical statement of the
|
|
9
|
+
apprenticeship program's four operator-ratified concepts (mutual substrate
|
|
10
|
+
improvement; role asymmetry, not capability asymmetry; fractal role-teaching;
|
|
11
|
+
required fundamental-gap analysis on defects) plus two bounded evaluation cautions
|
|
12
|
+
(tripwires-not-targets hidden testing; multi-cycle promotion evidence). Origin:
|
|
13
|
+
operator directives, topic 29723, 2026-07-16/17 (CMT-872).
|
|
14
|
+
- `docs/specs/FRAMEWORK-ONBOARDING-MENTOR-SPEC.md`: the §13.1 issue schema gains three
|
|
15
|
+
REQUIRED fields — `rootGapInfrastructure`, `rootGapSentinel`
|
|
16
|
+
(failing | missing | neither-unpromoted), `rootGapStandard` — and a new §13.9
|
|
17
|
+
defining the write-time requirement: a defect record without root-gap analysis is
|
|
18
|
+
refused, like a record without a bucket.
|
|
19
|
+
|
|
20
|
+
## What to Tell Your User
|
|
21
|
+
|
|
22
|
+
None — internal change (no user-facing surface).
|
|
23
|
+
|
|
24
|
+
## Summary of New Capabilities
|
|
25
|
+
|
|
26
|
+
None — internal change (no user-facing surface).
|
|
27
|
+
|
|
28
|
+
## Evidence
|
|
29
|
+
|
|
30
|
+
- Docs-only diff: `docs/apprenticeship/PROGRAM-CONCEPTS.md` (new),
|
|
31
|
+
`docs/specs/FRAMEWORK-ONBOARDING-MENTOR-SPEC.md` (schema + §13.9),
|
|
32
|
+
ELI16 at `docs/specs/cmt872-apprenticeship-concepts.eli16.md`,
|
|
33
|
+
side-effects review at `upgrades/side-effects/cmt872-apprenticeship-concepts.md`.
|
|
34
|
+
- The three-question analysis is already applied live in apprenticeship drive 5's
|
|
35
|
+
defect matrix (defects #9, #10, #11) — this lands the canonical documentation and
|
|
36
|
+
schema definition for it.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Side-Effects Review — cmt872-apprenticeship-concepts
|
|
2
|
+
|
|
3
|
+
**Change:** documentation-only. (a) New `docs/apprenticeship/PROGRAM-CONCEPTS.md`
|
|
4
|
+
(four operator-ratified apprenticeship concepts + evaluation cautions, CMT-872).
|
|
5
|
+
(b) `docs/specs/FRAMEWORK-ONBOARDING-MENTOR-SPEC.md`: three REQUIRED `rootGap*`
|
|
6
|
+
fields added to the §13.1 issue schema + new §13.9 explaining the requirement.
|
|
7
|
+
No runtime code, no tests, no templates, no hooks.
|
|
8
|
+
|
|
9
|
+
## Phase 1 principle check
|
|
10
|
+
|
|
11
|
+
Does this change involve a decision point (gates information flow, blocks actions,
|
|
12
|
+
filters messages, constrains agent behavior)? **No.** It is prose: a concepts page and
|
|
13
|
+
a spec schema amendment. The write-time validation §13.9 describes will be a future
|
|
14
|
+
build of the (staged, off-by-default) mentor loop; this commit changes no executable
|
|
15
|
+
path. Signal-vs-authority is not implicated — documentation carries no authority.
|
|
16
|
+
|
|
17
|
+
## The eight questions
|
|
18
|
+
|
|
19
|
+
1. **Over-block** — No issue identified. Nothing executable changes; nothing can
|
|
20
|
+
reject any input.
|
|
21
|
+
2. **Under-block** — No issue identified (nothing enforces yet). Named residual: until
|
|
22
|
+
the mentor-loop build implements §13.9 validation, the rootGap requirement binds
|
|
23
|
+
drive practice by convention (already live in drive 5's matrix) rather than by code.
|
|
24
|
+
That build is governed by the mentor spec's own staged rollout.
|
|
25
|
+
3. **Level-of-abstraction fit** — Correct layer. Concepts page lives in
|
|
26
|
+
`docs/apprenticeship/` beside RETRO-HARVEST-PROCEDURE.md; the schema change lives in
|
|
27
|
+
the spec that owns the issue ledger. The drive-workspace matrix template mirrors the
|
|
28
|
+
same three questions, so judgment structure exists at both layers (program docs +
|
|
29
|
+
ledger schema).
|
|
30
|
+
4. **Signal vs authority** — Compliant; no authority exists in this change. When built,
|
|
31
|
+
rootGap validation is a write-time completeness check on a ledger record (like the
|
|
32
|
+
existing bucket allowlist), not a behavioral gate.
|
|
33
|
+
5. **Interactions** — The mentor spec is converged+approved (2026-05-27). This amends
|
|
34
|
+
its schema section additively; no existing field is renamed or removed, so no
|
|
35
|
+
consumer (none built yet for these fields) breaks. §13.8 (Concurrency) numbering is
|
|
36
|
+
untouched; the new section is §13.9. The concepts page references the spec and vice
|
|
37
|
+
versa — both references verified present in this diff.
|
|
38
|
+
6. **External surfaces** — None. No user-visible runtime surface, no other-agent
|
|
39
|
+
surface. The docs ship in the npm package as before.
|
|
40
|
+
7. **Multi-machine posture** — Machine-local BY DESIGN in the trivial sense: these are
|
|
41
|
+
git-tracked repo docs, identical on every machine via the release; no runtime state,
|
|
42
|
+
no replication path needed, nothing strands on topic transfer, no URLs generated.
|
|
43
|
+
8. **Rollback cost** — Trivial: revert the docs commit. No data migration, no agent
|
|
44
|
+
state, no hot-fix pressure.
|
|
45
|
+
|
|
46
|
+
## Conclusion
|
|
47
|
+
|
|
48
|
+
Documentation-only, no runtime surface. Tier 1 declared: small, low-risk, records
|
|
49
|
+
operator decisions already made 2026-07-17.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Side-Effects Review — StandingDrive Slice 2 scope derivation
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `standing-drive-slice2`
|
|
4
|
+
**Date:** `2026-07-17`
|
|
5
|
+
**Author:** `Instar Agent (instar-codey)`
|
|
6
|
+
**Second-pass reviewer:** Hegel (`continuation_side_effects_review`)
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
This slice upgrades `src/core/StandingDriveSchema.ts` from an enum-only scope membership result to an auditable `StandingDriveActionDerivationV1`. It validates unknown runtime-shaped requests without throwing, returns the matched frozen rule and stable decision digest, applies safe project-relative prefix matching for git/local-test targets, and preserves `deriveActionDecision` as a compatibility projection. Tests in `tests/unit/standing-drive-schema.test.ts` prove closed holds, traversal refusal, insertion-order determinism, and absence of model/network/clock/locale seams.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- `deriveActionDecisionDetailed` — add — authoritative closed policy evaluation over the frozen enumerated envelope.
|
|
15
|
+
- `deriveActionDecision` — modify — compatibility projection over the detailed result; its public decision enum is unchanged.
|
|
16
|
+
- `targetMatches` — add — deterministic domain-specific target membership, with project-relative prefix semantics only for git/local-test domains.
|
|
17
|
+
|
|
18
|
+
## 1. Over-block
|
|
19
|
+
|
|
20
|
+
Git/local-test requests using absolute paths, backslashes, `.` segments, or `..` segments hold even when they resolve inside an approved root. This is intentional: filesystem resolution differs across platforms and environments, while frozen project-relative paths are portable and auditable. External-operation, message-review, and operator-transition targets remain exact; a legitimate alias or renamed recipient holds until a fresh operator transition updates the frozen envelope.
|
|
21
|
+
|
|
22
|
+
## 2. Under-block
|
|
23
|
+
|
|
24
|
+
The validator proves membership, not external authority or effect safety. An allowed action still cannot execute safely until later slices compose drive aliveness, exact local authority rebind, breaker and stop state, operation/coherence gates, and effect reconciliation. Constraint keys remain operator-frozen generic fields in schema v1; service-specific payload semantics belong to the Slice 3 adapter and cannot be inferred here.
|
|
25
|
+
|
|
26
|
+
## 3. Level-of-abstraction fit
|
|
27
|
+
|
|
28
|
+
This is a deterministic policy authority over a genuinely enumerable domain, colocated with the frozen envelope canonicalizer. It does not duplicate lifecycle persistence, external-operation authority, or a semantic evaluator. Detailed derivation is pure and synchronous, so later actuators can persist or audit its stable output without giving this module side effects.
|
|
29
|
+
|
|
30
|
+
## 4. Signal vs authority compliance
|
|
31
|
+
|
|
32
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
33
|
+
|
|
34
|
+
- [x] This is blocking authority over closed hard invariants, not brittle semantic judgment.
|
|
35
|
+
|
|
36
|
+
The authority compares enumerated domain, operation, target, constraints, phase, and schema fields. It never interprets prose or estimates relevance. The explicit plausibly-related-but-out-of-envelope test demonstrates that semantic closeness cannot expand authority.
|
|
37
|
+
|
|
38
|
+
## 4b. Judgment-point check (Judgment Within Floors standard)
|
|
39
|
+
|
|
40
|
+
No competing-signals judgment point is introduced. Scope membership is a closed set-membership invariant. Project-relative path prefix matching is deterministic mechanics with traversal refusal, not a heuristic about intent.
|
|
41
|
+
|
|
42
|
+
## 5. Interactions
|
|
43
|
+
|
|
44
|
+
- **Shadowing:** none; later execution code must consume this result before existing operation/coherence gates, which retain their own authority.
|
|
45
|
+
- **Double-fire:** none; the evaluator has no actuator or persistence.
|
|
46
|
+
- **Races:** none; the evaluator reads one immutable input snapshot and returns a value.
|
|
47
|
+
- **Feedback loops:** none.
|
|
48
|
+
- **Compatibility:** the existing `deriveActionDecision` API and decision strings are preserved.
|
|
49
|
+
- **Determinism:** candidate rules are sorted with fixed code-unit ordering before a match is selected, preventing replicated insertion order from changing the matched rule or digest.
|
|
50
|
+
|
|
51
|
+
## 6. External surfaces
|
|
52
|
+
|
|
53
|
+
No route, message, notice, external call, persistent transition, URL, or operator-facing action is added. The exported detailed result is an internal API for later reviewed slices.
|
|
54
|
+
|
|
55
|
+
## 6b. Operator-surface quality (Operator-Surface Quality standard)
|
|
56
|
+
|
|
57
|
+
No operator surface — not applicable.
|
|
58
|
+
|
|
59
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
60
|
+
|
|
61
|
+
**Replicated deterministic behavior:** the frozen envelope remains in the existing autonomous-run record and this pure evaluator produces the same result on every machine. Canonical object fields, array-valued constraints, and candidate rule selection use fixed code-unit ordering rather than locale or insertion order. Project-relative path syntax is deliberately OS-neutral. The decision stores no machine-local authority and remains inert until a later execution slice performs fresh local authority rebind.
|
|
62
|
+
|
|
63
|
+
It emits no user-facing notices, holds no new durable state, and generates no URLs. Topic transfer therefore cannot strand new Slice 2 state.
|
|
64
|
+
|
|
65
|
+
## 8. Rollback cost
|
|
66
|
+
|
|
67
|
+
- **Hot-fix release:** revert the detailed evaluator and restore the previous compatibility function body.
|
|
68
|
+
- **Data migration:** none; no stored schema changes.
|
|
69
|
+
- **Agent state repair:** none.
|
|
70
|
+
- **User visibility:** none; no runtime actuator consumes the result yet.
|
|
71
|
+
|
|
72
|
+
## Conclusion
|
|
73
|
+
|
|
74
|
+
Slice 2 closes the scope-derivation boundary without introducing semantic judgment or side effects. The main risks—path overreach, traversal, malformed input, rule-order divergence, and hidden intelligence seams—are covered by focused tests. It is ready for independent second-pass review and the normal Instar gates.
|
|
75
|
+
|
|
76
|
+
## Second-pass review (if required)
|
|
77
|
+
|
|
78
|
+
**Reviewer:** Hegel (`continuation_side_effects_review`)
|
|
79
|
+
**Independent read of the artifact:** concur
|
|
80
|
+
|
|
81
|
+
The first pass caught Windows drive-qualified and noncanonical double-slash paths at the project-relative boundary. Slice 2 now rejects drive-absolute and drive-relative syntax in both requested and frozen targets, rejects invalid frozen targets as corrupt enrollment state, and canonicalizes equivalent trailing-slash targets for stable decision digests. The reviewer concurs that the revised path, cross-machine, fail-closed, and no-intelligence-seam claims are accurately tested and documented.
|
|
82
|
+
|
|
83
|
+
## Evidence pointers
|
|
84
|
+
|
|
85
|
+
- `tests/unit/standing-drive-schema.test.ts`: closed derivation, traversal/drive-path, cross-machine order, malformed-input, and no-intelligence-seam canaries.
|
|
86
|
+
- Focused Vitest: 30/30 passing; combined store and no-silent-fallback regressions: 50/50 passing.
|
|
87
|
+
- TypeScript build and repository lint: passing.
|
|
88
|
+
|
|
89
|
+
## Class-Closure Declaration (display-only mirror)
|
|
90
|
+
|
|
91
|
+
No agent-authored-artifact defect and no self-triggered controller is added — not applicable.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# ELI16 — StandingDrive Slice 2
|
|
2
|
+
|
|
3
|
+
A standing drive must not gain authority merely because its next proposed step sounds helpful or closely related to the operator's goal. Slice 2 turns that rule into a closed, auditable calculation. The calculation receives only the frozen drive envelope, current phase id, and structured action request. It returns an allow or a typed hold, the exact frozen rule that matched when one exists, the envelope digest used, and a deterministic decision digest. There is no model prompt, similarity score, network lookup, clock, or locale-sensitive comparison in the decision path.
|
|
4
|
+
|
|
5
|
+
Git and local-test targets use safe project-relative prefix semantics. An operator-approved `src/` scope therefore includes `src/core/file.ts`, but cannot escape through `..`, an absolute path, or a platform-specific backslash path. Other domains retain exact target matching. Constraints are canonicalized by fixed code-unit order, so two machines receive the same result even when object fields or replicated rule arrays arrive in different insertion orders. If multiple frozen rules match, the lowest code-unit rule id is selected deterministically.
|
|
6
|
+
|
|
7
|
+
Malformed runtime input, unknown schema versions, the wrong phase or domain, a non-enumerated operation, and a constraint mismatch all fail closed into explicit typed results. The original enum-only helper remains available as a compatibility projection over the new detailed authority, so existing callers do not change behavior while later execution slices gain an audit-grade result.
|
|
8
|
+
|
|
9
|
+
This slice still does not wake a session, dispatch an external effect, send a message, or grant new external permission. It only establishes the deterministic scope authority that every later actuator must compose with the existing lifecycle, authority-rebind, breaker, stop, operation, and coherence gates.
|