instar 1.3.1113 → 1.3.1114
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/CartographerRootAuthority.d.ts +143 -0
- package/dist/core/CartographerRootAuthority.d.ts.map +1 -0
- package/dist/core/CartographerRootAuthority.js +448 -0
- package/dist/core/CartographerRootAuthority.js.map +1 -0
- package/dist/core/CartographerTree.d.ts +6 -0
- package/dist/core/CartographerTree.d.ts.map +1 -1
- package/dist/core/CartographerTree.js +6 -1
- package/dist/core/CartographerTree.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/1.3.1114.md +46 -0
- package/upgrades/side-effects/cartographer-verified-root-authority.md +151 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
export type CartographerRootKind = 'agent-home' | 'active-project-checkout' | 'instar-source-checkout';
|
|
2
|
+
export type CartographerRootProvenance = {
|
|
3
|
+
source: 'agent-home';
|
|
4
|
+
agentName: string;
|
|
5
|
+
} | {
|
|
6
|
+
source: 'server-project';
|
|
7
|
+
projectName: string;
|
|
8
|
+
} | {
|
|
9
|
+
source: 'topic-binding';
|
|
10
|
+
topicId: number;
|
|
11
|
+
projectName: string;
|
|
12
|
+
} | {
|
|
13
|
+
source: 'operator-binding';
|
|
14
|
+
bindingId: string;
|
|
15
|
+
projectName: string;
|
|
16
|
+
};
|
|
17
|
+
export interface CartographerRootCandidate {
|
|
18
|
+
kind: CartographerRootKind;
|
|
19
|
+
requestedPath: string;
|
|
20
|
+
provenance: CartographerRootProvenance;
|
|
21
|
+
/** Optional repository anchor supplied by the provenance source. */
|
|
22
|
+
expectedRemote?: string;
|
|
23
|
+
/** Optional exact revision anchor, primarily used for revalidation. */
|
|
24
|
+
expectedRevision?: string;
|
|
25
|
+
}
|
|
26
|
+
export type CartographerRootSelectionRequest = {
|
|
27
|
+
kind: 'agent-home';
|
|
28
|
+
agentHome: string;
|
|
29
|
+
agentName: string;
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'active-project-checkout';
|
|
32
|
+
standalone: boolean;
|
|
33
|
+
serverProject?: {
|
|
34
|
+
projectDir: string;
|
|
35
|
+
projectName: string;
|
|
36
|
+
gitRemote?: string;
|
|
37
|
+
};
|
|
38
|
+
topicBinding?: {
|
|
39
|
+
topicId: number;
|
|
40
|
+
projectDir: string;
|
|
41
|
+
projectName: string;
|
|
42
|
+
gitRemote?: string;
|
|
43
|
+
};
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'instar-source-checkout';
|
|
46
|
+
binding: {
|
|
47
|
+
bindingId: string;
|
|
48
|
+
projectDir: string;
|
|
49
|
+
projectName: string;
|
|
50
|
+
gitRemote: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
export type CartographerRootSelectionResult = {
|
|
54
|
+
ok: true;
|
|
55
|
+
candidate: CartographerRootCandidate;
|
|
56
|
+
} | {
|
|
57
|
+
ok: false;
|
|
58
|
+
code: 'topic-binding-required' | 'server-project-required' | 'instar-source-binding-required';
|
|
59
|
+
message: string;
|
|
60
|
+
};
|
|
61
|
+
export type CartographerRootTrust = 'verified' | 'structural-only' | 'refused';
|
|
62
|
+
export type CartographerRootReason = 'verified' | 'path-missing' | 'path-not-directory' | 'canonicalize-failed' | 'git-root-unreadable' | 'candidate-not-git-root' | 'head-unreadable' | 'instar-source-expectation-missing' | 'remote-unreadable' | 'remote-mismatch' | 'revision-mismatch' | 'root-identity-mismatch';
|
|
63
|
+
export interface CartographerRootIdentity {
|
|
64
|
+
/** Stable for this checked-out root across revisions. */
|
|
65
|
+
rootId: string;
|
|
66
|
+
/** Stable repository identity derived from an anchored remote or common Git dir. */
|
|
67
|
+
repositoryId: string | null;
|
|
68
|
+
kind: CartographerRootKind;
|
|
69
|
+
canonicalPath: string;
|
|
70
|
+
gitTopLevel: string | null;
|
|
71
|
+
remoteUrl: string | null;
|
|
72
|
+
revision: string | null;
|
|
73
|
+
/** Safe, opaque namespace for stateDir/cartographer/roots/<namespace>. */
|
|
74
|
+
stateNamespace: string;
|
|
75
|
+
}
|
|
76
|
+
export interface CartographerRootAssessment {
|
|
77
|
+
candidate: CartographerRootCandidate;
|
|
78
|
+
trust: CartographerRootTrust;
|
|
79
|
+
reason: CartographerRootReason;
|
|
80
|
+
identity: CartographerRootIdentity | null;
|
|
81
|
+
/** Structural population is zero-egress and survives missing Git identity. */
|
|
82
|
+
structuralPopulationAllowed: boolean;
|
|
83
|
+
/** Paid authoring requires a verified project/source checkout and exact readable revision. */
|
|
84
|
+
paidAuthoringAllowed: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface CartographerRootDecisionSignals {
|
|
87
|
+
pathState: 'unreadable' | 'file' | 'directory';
|
|
88
|
+
canonicalPath: string | null;
|
|
89
|
+
gitTopLevel: string | null;
|
|
90
|
+
expectedRemote: string | null;
|
|
91
|
+
observedRemotes: string[];
|
|
92
|
+
expectedRevision: string | null;
|
|
93
|
+
observedRevision: string | null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Structured evidence emitted for every authority outcome. The recorder is a
|
|
97
|
+
* required dependency: a live consumer cannot obtain an allow/degrade/refuse
|
|
98
|
+
* result without also accepting responsibility for its decision trail.
|
|
99
|
+
*/
|
|
100
|
+
export interface CartographerRootDecision {
|
|
101
|
+
schemaVersion: 1;
|
|
102
|
+
decidedAt: string;
|
|
103
|
+
operation: 'assess' | 'revalidate';
|
|
104
|
+
context: {
|
|
105
|
+
candidate: CartographerRootCandidate;
|
|
106
|
+
};
|
|
107
|
+
signals: CartographerRootDecisionSignals;
|
|
108
|
+
rule: CartographerRootReason | 'revalidation-not-applicable';
|
|
109
|
+
outcome: {
|
|
110
|
+
trust: CartographerRootTrust;
|
|
111
|
+
structuralPopulationAllowed: boolean;
|
|
112
|
+
paidAuthoringAllowed: boolean;
|
|
113
|
+
rootId: string | null;
|
|
114
|
+
stateNamespace: string | null;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export interface CartographerRootAuthorityOptions {
|
|
118
|
+
/** Must durably record in a live consumer. Throwing prevents an unlogged outcome. */
|
|
119
|
+
recordDecision: (decision: CartographerRootDecision) => void;
|
|
120
|
+
now?: () => Date;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Select a candidate only from an explicit, typed provenance source.
|
|
124
|
+
*
|
|
125
|
+
* In particular, a standalone active-project request never falls back to the
|
|
126
|
+
* agent home. That fallback is the wrong-root failure this contract exists to
|
|
127
|
+
* remove. Instar source is explicit-only: directory scanning and marker files
|
|
128
|
+
* may corroborate an identity later, but can never select it.
|
|
129
|
+
*/
|
|
130
|
+
export declare function selectCartographerRootCandidate(request: CartographerRootSelectionRequest): CartographerRootSelectionResult;
|
|
131
|
+
/** Normalize common HTTPS, SSH, and scp-like Git remote spellings for identity comparison. */
|
|
132
|
+
export declare function normalizeCartographerGitRemote(raw: string): string;
|
|
133
|
+
export declare class CartographerRootAuthority {
|
|
134
|
+
private readonly recordDecision;
|
|
135
|
+
private readonly now;
|
|
136
|
+
constructor(options: CartographerRootAuthorityOptions);
|
|
137
|
+
private decide;
|
|
138
|
+
private evaluate;
|
|
139
|
+
assess(candidate: CartographerRootCandidate): CartographerRootAssessment;
|
|
140
|
+
/** Revalidate the same root identity and exact revision before a trusted operation. */
|
|
141
|
+
revalidate(assessment: CartographerRootAssessment): CartographerRootAssessment;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=CartographerRootAuthority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartographerRootAuthority.d.ts","sourceRoot":"","sources":["../../src/core/CartographerRootAuthority.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CartographerRootAuthority — inert root-selection and verification substrate.
|
|
3
|
+
*
|
|
4
|
+
* This module deliberately does not wire itself into Cartographer routes or the
|
|
5
|
+
* freshness sweep. It separates three questions that the old projectDir
|
|
6
|
+
* singleton collapsed:
|
|
7
|
+
*
|
|
8
|
+
* 1. Which root did a provenance-bearing source select?
|
|
9
|
+
* 2. What repository identity and revision are actually present there?
|
|
10
|
+
* 3. Which operations are safe at the resulting trust level?
|
|
11
|
+
*
|
|
12
|
+
* A selected directory without a readable Git HEAD remains useful for the
|
|
13
|
+
* zero-cost structural hierarchy, but it is never eligible for paid authoring.
|
|
14
|
+
* Contradictory evidence (for example an expected-remote mismatch) refuses the
|
|
15
|
+
* root entirely. PR 11B-2 is the consumer boundary that will apply this contract
|
|
16
|
+
* to live navigation, reporting, and authoring.
|
|
17
|
+
*/
|
|
18
|
+
import crypto from 'node:crypto';
|
|
19
|
+
import fs from 'node:fs';
|
|
20
|
+
import path from 'node:path';
|
|
21
|
+
import { SafeGitExecutor } from './SafeGitExecutor.js';
|
|
22
|
+
const GIT_OP = 'cartographer-root-authority';
|
|
23
|
+
/**
|
|
24
|
+
* Select a candidate only from an explicit, typed provenance source.
|
|
25
|
+
*
|
|
26
|
+
* In particular, a standalone active-project request never falls back to the
|
|
27
|
+
* agent home. That fallback is the wrong-root failure this contract exists to
|
|
28
|
+
* remove. Instar source is explicit-only: directory scanning and marker files
|
|
29
|
+
* may corroborate an identity later, but can never select it.
|
|
30
|
+
*/
|
|
31
|
+
export function selectCartographerRootCandidate(request) {
|
|
32
|
+
if (request.kind === 'agent-home') {
|
|
33
|
+
return {
|
|
34
|
+
ok: true,
|
|
35
|
+
candidate: {
|
|
36
|
+
kind: request.kind,
|
|
37
|
+
requestedPath: request.agentHome,
|
|
38
|
+
provenance: { source: 'agent-home', agentName: request.agentName },
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
if (request.kind === 'instar-source-checkout') {
|
|
43
|
+
if (!request.binding?.projectDir || !request.binding.gitRemote) {
|
|
44
|
+
return {
|
|
45
|
+
ok: false,
|
|
46
|
+
code: 'instar-source-binding-required',
|
|
47
|
+
message: 'Instar source selection requires an explicit binding with a repository anchor',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
ok: true,
|
|
52
|
+
candidate: {
|
|
53
|
+
kind: request.kind,
|
|
54
|
+
requestedPath: request.binding.projectDir,
|
|
55
|
+
provenance: {
|
|
56
|
+
source: 'operator-binding',
|
|
57
|
+
bindingId: request.binding.bindingId,
|
|
58
|
+
projectName: request.binding.projectName,
|
|
59
|
+
},
|
|
60
|
+
expectedRemote: request.binding.gitRemote,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
if (request.topicBinding) {
|
|
65
|
+
return {
|
|
66
|
+
ok: true,
|
|
67
|
+
candidate: {
|
|
68
|
+
kind: request.kind,
|
|
69
|
+
requestedPath: request.topicBinding.projectDir,
|
|
70
|
+
provenance: {
|
|
71
|
+
source: 'topic-binding',
|
|
72
|
+
topicId: request.topicBinding.topicId,
|
|
73
|
+
projectName: request.topicBinding.projectName,
|
|
74
|
+
},
|
|
75
|
+
expectedRemote: request.topicBinding.gitRemote,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
if (request.standalone) {
|
|
80
|
+
return {
|
|
81
|
+
ok: false,
|
|
82
|
+
code: 'topic-binding-required',
|
|
83
|
+
message: 'A standalone active-project root requires a topic-project binding',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (!request.serverProject) {
|
|
87
|
+
return {
|
|
88
|
+
ok: false,
|
|
89
|
+
code: 'server-project-required',
|
|
90
|
+
message: 'A project-bound active-project root requires the server project declaration',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
ok: true,
|
|
95
|
+
candidate: {
|
|
96
|
+
kind: request.kind,
|
|
97
|
+
requestedPath: request.serverProject.projectDir,
|
|
98
|
+
provenance: {
|
|
99
|
+
source: 'server-project',
|
|
100
|
+
projectName: request.serverProject.projectName,
|
|
101
|
+
},
|
|
102
|
+
expectedRemote: request.serverProject.gitRemote,
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/** Normalize common HTTPS, SSH, and scp-like Git remote spellings for identity comparison. */
|
|
107
|
+
export function normalizeCartographerGitRemote(raw) {
|
|
108
|
+
let value = raw.trim();
|
|
109
|
+
while (value.endsWith('/'))
|
|
110
|
+
value = value.slice(0, -1);
|
|
111
|
+
if (/\.git$/i.test(value))
|
|
112
|
+
value = value.slice(0, -4);
|
|
113
|
+
const normalizePath = (host, rawPath) => {
|
|
114
|
+
const clean = rawPath
|
|
115
|
+
.replace(/^\/+/, '')
|
|
116
|
+
.replace(/\.git$/i, '')
|
|
117
|
+
.replace(/\/+$/, '');
|
|
118
|
+
// github.com documents repository URLs as case-insensitive. Preserve path
|
|
119
|
+
// case everywhere else: folding an unknown forge's path can collapse two
|
|
120
|
+
// genuinely different repositories into one trusted identity.
|
|
121
|
+
return host === 'github.com' ? clean.toLowerCase() : clean;
|
|
122
|
+
};
|
|
123
|
+
const scp = value.match(/^(?:[^@/]+@)?([^:/]+):(.+)$/);
|
|
124
|
+
if (scp && !value.includes('://')) {
|
|
125
|
+
const host = scp[1].toLowerCase();
|
|
126
|
+
return `${host}/${normalizePath(host, scp[2])}`;
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
const parsed = new URL(value);
|
|
130
|
+
const host = parsed.hostname.toLowerCase();
|
|
131
|
+
const pathname = normalizePath(host, parsed.pathname);
|
|
132
|
+
if (parsed.protocol === 'file:')
|
|
133
|
+
return `file:${pathname}`;
|
|
134
|
+
const defaultPort = (parsed.protocol === 'ssh:' && parsed.port === '22') ||
|
|
135
|
+
(parsed.protocol === 'git:' && parsed.port === '9418') ||
|
|
136
|
+
(parsed.protocol === 'http:' && parsed.port === '80') ||
|
|
137
|
+
(parsed.protocol === 'https:' && parsed.port === '443');
|
|
138
|
+
const authority = parsed.port && !defaultPort ? `${host}:${parsed.port}` : host;
|
|
139
|
+
return `${authority}/${pathname}`;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// Unknown syntax is not safe to case-fold. Equality remains available for
|
|
143
|
+
// byte-equivalent anchors without manufacturing false equivalence.
|
|
144
|
+
return value;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function digest(value, length = 24) {
|
|
148
|
+
return crypto
|
|
149
|
+
.createHash('sha256')
|
|
150
|
+
.update(value, 'utf8')
|
|
151
|
+
.digest('hex')
|
|
152
|
+
.slice(0, length);
|
|
153
|
+
}
|
|
154
|
+
function provenanceKey(provenance) {
|
|
155
|
+
switch (provenance.source) {
|
|
156
|
+
case 'agent-home':
|
|
157
|
+
return `agent-home:${provenance.agentName}`;
|
|
158
|
+
case 'server-project':
|
|
159
|
+
return `server-project:${provenance.projectName}`;
|
|
160
|
+
case 'topic-binding':
|
|
161
|
+
return `topic-binding:${provenance.topicId}:${provenance.projectName}`;
|
|
162
|
+
case 'operator-binding':
|
|
163
|
+
return `operator-binding:${provenance.bindingId}:${provenance.projectName}`;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function readGit(cwd, args) {
|
|
167
|
+
try {
|
|
168
|
+
// Root verification must work against the Instar source checkout itself.
|
|
169
|
+
// SafeGitExecutor keeps this opt-in narrow: only its closed read-tier verb
|
|
170
|
+
// allowlist bypasses SourceTreeGuard; a destructive/differently-shaped call
|
|
171
|
+
// still cannot pass through this option.
|
|
172
|
+
const value = SafeGitExecutor.readSync(args, {
|
|
173
|
+
cwd,
|
|
174
|
+
operation: GIT_OP,
|
|
175
|
+
sourceTreeReadOk: true,
|
|
176
|
+
}).trim();
|
|
177
|
+
return value || null;
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return null; /* @silent-fallback-ok — unreadable Git evidence becomes a required structured authority decision */
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function readRemotes(cwd) {
|
|
184
|
+
// `remote -v` is on SafeGitExecutor's source-tree read-tier allowlist, while
|
|
185
|
+
// arbitrary config access intentionally is not. Parse fetch identities only:
|
|
186
|
+
// a push-only URL proves write destination, not which repository was checked out.
|
|
187
|
+
const raw = readGit(cwd, ['remote', '-v']);
|
|
188
|
+
if (!raw)
|
|
189
|
+
return [];
|
|
190
|
+
const remotes = [];
|
|
191
|
+
for (const line of raw.split('\n')) {
|
|
192
|
+
const match = line.match(/^(\S+)\s+(.+?)\s+\(fetch\)$/);
|
|
193
|
+
if (!match)
|
|
194
|
+
continue;
|
|
195
|
+
const url = match[2].trim();
|
|
196
|
+
if (!url)
|
|
197
|
+
continue;
|
|
198
|
+
remotes.push({
|
|
199
|
+
name: match[1],
|
|
200
|
+
url,
|
|
201
|
+
normalized: normalizeCartographerGitRemote(url),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
return remotes;
|
|
205
|
+
}
|
|
206
|
+
function canonicalCommonGitDir(cwd) {
|
|
207
|
+
const raw = readGit(cwd, ['rev-parse', '--git-common-dir']);
|
|
208
|
+
if (!raw)
|
|
209
|
+
return null;
|
|
210
|
+
const absolute = path.isAbsolute(raw) ? raw : path.resolve(cwd, raw);
|
|
211
|
+
try {
|
|
212
|
+
return fs.realpathSync(absolute);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
return path.resolve(absolute);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function identityFor(input) {
|
|
219
|
+
const remoteIdentity = input.remoteUrl
|
|
220
|
+
? `remote:${normalizeCartographerGitRemote(input.remoteUrl)}`
|
|
221
|
+
: null;
|
|
222
|
+
const repositoryBasis = remoteIdentity ??
|
|
223
|
+
(input.commonGitDir ? `common-git-dir:${input.commonGitDir}` : null);
|
|
224
|
+
const repositoryId = repositoryBasis ? digest(repositoryBasis) : null;
|
|
225
|
+
const rootBasis = repositoryId
|
|
226
|
+
? `${input.candidate.kind}\0${repositoryId}\0${input.canonicalPath}`
|
|
227
|
+
: `${input.candidate.kind}\0structural\0${provenanceKey(input.candidate.provenance)}\0${input.canonicalPath}`;
|
|
228
|
+
const rootId = digest(rootBasis);
|
|
229
|
+
return {
|
|
230
|
+
rootId,
|
|
231
|
+
repositoryId,
|
|
232
|
+
kind: input.candidate.kind,
|
|
233
|
+
canonicalPath: input.canonicalPath,
|
|
234
|
+
gitTopLevel: input.gitTopLevel,
|
|
235
|
+
remoteUrl: input.remoteUrl,
|
|
236
|
+
revision: input.revision,
|
|
237
|
+
stateNamespace: `root-${rootId}`,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function refused(candidate, reason, identity = null) {
|
|
241
|
+
return {
|
|
242
|
+
candidate,
|
|
243
|
+
trust: 'refused',
|
|
244
|
+
reason,
|
|
245
|
+
identity,
|
|
246
|
+
structuralPopulationAllowed: false,
|
|
247
|
+
paidAuthoringAllowed: false,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
function structuralOnly(candidate, reason, identity) {
|
|
251
|
+
return {
|
|
252
|
+
candidate,
|
|
253
|
+
trust: 'structural-only',
|
|
254
|
+
reason,
|
|
255
|
+
identity,
|
|
256
|
+
structuralPopulationAllowed: true,
|
|
257
|
+
paidAuthoringAllowed: false,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
export class CartographerRootAuthority {
|
|
261
|
+
recordDecision;
|
|
262
|
+
now;
|
|
263
|
+
constructor(options) {
|
|
264
|
+
this.recordDecision = options.recordDecision;
|
|
265
|
+
this.now = options.now ?? (() => new Date());
|
|
266
|
+
}
|
|
267
|
+
decide(assessment, operation, signals, rule = assessment.reason) {
|
|
268
|
+
// Do not return an authority outcome if its required audit sink fails. That
|
|
269
|
+
// keeps the future live consumer from silently acting on an unlogged trust
|
|
270
|
+
// decision and makes recorder availability part of the authority contract.
|
|
271
|
+
this.recordDecision({
|
|
272
|
+
schemaVersion: 1,
|
|
273
|
+
decidedAt: this.now().toISOString(),
|
|
274
|
+
operation,
|
|
275
|
+
context: {
|
|
276
|
+
candidate: {
|
|
277
|
+
...assessment.candidate,
|
|
278
|
+
provenance: { ...assessment.candidate.provenance },
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
signals: { ...signals, observedRemotes: [...signals.observedRemotes] },
|
|
282
|
+
rule,
|
|
283
|
+
outcome: {
|
|
284
|
+
trust: assessment.trust,
|
|
285
|
+
structuralPopulationAllowed: assessment.structuralPopulationAllowed,
|
|
286
|
+
paidAuthoringAllowed: assessment.paidAuthoringAllowed,
|
|
287
|
+
rootId: assessment.identity?.rootId ?? null,
|
|
288
|
+
stateNamespace: assessment.identity?.stateNamespace ?? null,
|
|
289
|
+
},
|
|
290
|
+
});
|
|
291
|
+
return assessment;
|
|
292
|
+
}
|
|
293
|
+
evaluate(candidate, operation, expectedRootId) {
|
|
294
|
+
const signals = {
|
|
295
|
+
pathState: 'unreadable',
|
|
296
|
+
canonicalPath: null,
|
|
297
|
+
gitTopLevel: null,
|
|
298
|
+
expectedRemote: candidate.expectedRemote
|
|
299
|
+
? normalizeCartographerGitRemote(candidate.expectedRemote)
|
|
300
|
+
: null,
|
|
301
|
+
observedRemotes: [],
|
|
302
|
+
expectedRevision: candidate.expectedRevision ?? null,
|
|
303
|
+
observedRevision: null,
|
|
304
|
+
};
|
|
305
|
+
let stat;
|
|
306
|
+
try {
|
|
307
|
+
stat = fs.statSync(candidate.requestedPath);
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
return this.decide(refused(candidate, 'path-missing'), operation, signals);
|
|
311
|
+
}
|
|
312
|
+
signals.pathState = stat.isDirectory() ? 'directory' : 'file';
|
|
313
|
+
if (!stat.isDirectory()) {
|
|
314
|
+
return this.decide(refused(candidate, 'path-not-directory'), operation, signals);
|
|
315
|
+
}
|
|
316
|
+
let canonicalPath;
|
|
317
|
+
try {
|
|
318
|
+
canonicalPath = fs.realpathSync(candidate.requestedPath);
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
return this.decide(refused(candidate, 'canonicalize-failed'), operation, signals);
|
|
322
|
+
}
|
|
323
|
+
signals.canonicalPath = canonicalPath;
|
|
324
|
+
const rawTopLevel = readGit(canonicalPath, [
|
|
325
|
+
'rev-parse',
|
|
326
|
+
'--show-toplevel',
|
|
327
|
+
]);
|
|
328
|
+
if (!rawTopLevel) {
|
|
329
|
+
return this.decide(structuralOnly(candidate, 'git-root-unreadable', identityFor({
|
|
330
|
+
candidate,
|
|
331
|
+
canonicalPath,
|
|
332
|
+
gitTopLevel: null,
|
|
333
|
+
remoteUrl: null,
|
|
334
|
+
commonGitDir: null,
|
|
335
|
+
revision: null,
|
|
336
|
+
})), operation, signals);
|
|
337
|
+
}
|
|
338
|
+
let gitTopLevel;
|
|
339
|
+
try {
|
|
340
|
+
gitTopLevel = fs.realpathSync(rawTopLevel);
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return this.decide(structuralOnly(candidate, 'git-root-unreadable', identityFor({
|
|
344
|
+
candidate,
|
|
345
|
+
canonicalPath,
|
|
346
|
+
gitTopLevel: null,
|
|
347
|
+
remoteUrl: null,
|
|
348
|
+
commonGitDir: null,
|
|
349
|
+
revision: null,
|
|
350
|
+
})), operation, signals);
|
|
351
|
+
}
|
|
352
|
+
signals.gitTopLevel = gitTopLevel;
|
|
353
|
+
if (gitTopLevel !== canonicalPath) {
|
|
354
|
+
return this.decide(refused(candidate, 'candidate-not-git-root', identityFor({
|
|
355
|
+
candidate,
|
|
356
|
+
canonicalPath,
|
|
357
|
+
gitTopLevel,
|
|
358
|
+
remoteUrl: null,
|
|
359
|
+
commonGitDir: canonicalCommonGitDir(gitTopLevel),
|
|
360
|
+
revision: null,
|
|
361
|
+
})), operation, signals);
|
|
362
|
+
}
|
|
363
|
+
const remotes = readRemotes(canonicalPath);
|
|
364
|
+
signals.observedRemotes = remotes.map((remote) => remote.normalized);
|
|
365
|
+
const expectedRemote = signals.expectedRemote;
|
|
366
|
+
const matchedRemote = expectedRemote
|
|
367
|
+
? (remotes.find((remote) => remote.normalized === expectedRemote) ?? null)
|
|
368
|
+
: (remotes.find((remote) => remote.name === 'origin') ??
|
|
369
|
+
remotes[0] ??
|
|
370
|
+
null);
|
|
371
|
+
const commonGitDir = canonicalCommonGitDir(canonicalPath);
|
|
372
|
+
const revision = readGit(canonicalPath, ['rev-parse', 'HEAD']);
|
|
373
|
+
signals.observedRevision = revision;
|
|
374
|
+
const provisionalIdentity = identityFor({
|
|
375
|
+
candidate,
|
|
376
|
+
canonicalPath,
|
|
377
|
+
gitTopLevel,
|
|
378
|
+
remoteUrl: matchedRemote?.url ?? null,
|
|
379
|
+
commonGitDir,
|
|
380
|
+
revision,
|
|
381
|
+
});
|
|
382
|
+
if (candidate.kind === 'instar-source-checkout' && !expectedRemote) {
|
|
383
|
+
return this.decide(structuralOnly(candidate, 'instar-source-expectation-missing', provisionalIdentity), operation, signals);
|
|
384
|
+
}
|
|
385
|
+
if (expectedRemote && remotes.length === 0) {
|
|
386
|
+
return this.decide(structuralOnly(candidate, 'remote-unreadable', provisionalIdentity), operation, signals);
|
|
387
|
+
}
|
|
388
|
+
if (expectedRemote && !matchedRemote) {
|
|
389
|
+
const actualIdentity = identityFor({
|
|
390
|
+
candidate,
|
|
391
|
+
canonicalPath,
|
|
392
|
+
gitTopLevel,
|
|
393
|
+
remoteUrl: remotes.find((remote) => remote.name === 'origin')?.url ??
|
|
394
|
+
remotes[0]?.url ??
|
|
395
|
+
null,
|
|
396
|
+
commonGitDir,
|
|
397
|
+
revision,
|
|
398
|
+
});
|
|
399
|
+
return this.decide(refused(candidate, 'remote-mismatch', actualIdentity), operation, signals);
|
|
400
|
+
}
|
|
401
|
+
if (!revision) {
|
|
402
|
+
return this.decide(structuralOnly(candidate, 'head-unreadable', provisionalIdentity), operation, signals);
|
|
403
|
+
}
|
|
404
|
+
if (candidate.expectedRevision && revision !== candidate.expectedRevision) {
|
|
405
|
+
return this.decide(refused(candidate, 'revision-mismatch', provisionalIdentity), operation, signals);
|
|
406
|
+
}
|
|
407
|
+
if (expectedRootId && provisionalIdentity.rootId !== expectedRootId) {
|
|
408
|
+
return this.decide(refused(candidate, 'root-identity-mismatch', provisionalIdentity), operation, signals);
|
|
409
|
+
}
|
|
410
|
+
return this.decide({
|
|
411
|
+
candidate,
|
|
412
|
+
trust: 'verified',
|
|
413
|
+
reason: 'verified',
|
|
414
|
+
identity: provisionalIdentity,
|
|
415
|
+
structuralPopulationAllowed: true,
|
|
416
|
+
// Agent home is an identity/state container, not an active project. Even
|
|
417
|
+
// when it is itself a valid Git repository, selecting it explicitly must
|
|
418
|
+
// not authorize the noisy-home paid sweep that exposed this failure.
|
|
419
|
+
paidAuthoringAllowed: candidate.kind !== 'agent-home',
|
|
420
|
+
}, operation, signals);
|
|
421
|
+
}
|
|
422
|
+
assess(candidate) {
|
|
423
|
+
return this.evaluate(candidate, 'assess');
|
|
424
|
+
}
|
|
425
|
+
/** Revalidate the same root identity and exact revision before a trusted operation. */
|
|
426
|
+
revalidate(assessment) {
|
|
427
|
+
if (assessment.trust !== 'verified' || !assessment.identity?.revision) {
|
|
428
|
+
return this.decide(assessment, 'revalidate', {
|
|
429
|
+
pathState: assessment.identity ? 'directory' : 'unreadable',
|
|
430
|
+
canonicalPath: assessment.identity?.canonicalPath ?? null,
|
|
431
|
+
gitTopLevel: assessment.identity?.gitTopLevel ?? null,
|
|
432
|
+
expectedRemote: assessment.candidate.expectedRemote
|
|
433
|
+
? normalizeCartographerGitRemote(assessment.candidate.expectedRemote)
|
|
434
|
+
: null,
|
|
435
|
+
observedRemotes: assessment.identity?.remoteUrl
|
|
436
|
+
? [normalizeCartographerGitRemote(assessment.identity.remoteUrl)]
|
|
437
|
+
: [],
|
|
438
|
+
expectedRevision: assessment.identity?.revision ?? null,
|
|
439
|
+
observedRevision: assessment.identity?.revision ?? null,
|
|
440
|
+
}, 'revalidation-not-applicable');
|
|
441
|
+
}
|
|
442
|
+
return this.evaluate({
|
|
443
|
+
...assessment.candidate,
|
|
444
|
+
expectedRevision: assessment.identity.revision,
|
|
445
|
+
}, 'revalidate', assessment.identity.rootId);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
//# sourceMappingURL=CartographerRootAuthority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartographerRootAuthority.js","sourceRoot":"","sources":["../../src/core/CartographerRootAuthority.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,12 @@ export interface CartographerConfig {
|
|
|
81
81
|
projectDir: string;
|
|
82
82
|
/** Instar state directory (cartographer state nests under here). */
|
|
83
83
|
stateDir: string;
|
|
84
|
+
/**
|
|
85
|
+
* Optional verified-root namespace. When supplied, state is isolated under
|
|
86
|
+
* cartographer/roots/<namespace>. Omitted preserves the legacy singleton path
|
|
87
|
+
* exactly; PR 11B-1 adds the inert storage substrate without changing callers.
|
|
88
|
+
*/
|
|
89
|
+
stateNamespace?: string;
|
|
84
90
|
/** Hard cap on descent depth (default 12). */
|
|
85
91
|
maxDepth?: number;
|
|
86
92
|
/** File extensions that become leaf nodes (default ts/js/mjs/cjs). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartographerTree.d.ts","sourceRoot":"","sources":["../../src/core/CartographerTree.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CartographerTree.d.ts","sourceRoot":"","sources":["../../src/core/CartographerTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,12 @@ export class CartographerTree {
|
|
|
42
42
|
excludeSubstrings;
|
|
43
43
|
constructor(config) {
|
|
44
44
|
this.projectDir = config.projectDir;
|
|
45
|
-
|
|
45
|
+
if (config.stateNamespace !== undefined && !/^root-[a-f0-9]{24}$/.test(config.stateNamespace)) {
|
|
46
|
+
throw new Error('Invalid Cartographer state namespace');
|
|
47
|
+
}
|
|
48
|
+
this.cartoDir = config.stateNamespace
|
|
49
|
+
? path.join(config.stateDir, 'cartographer', 'roots', config.stateNamespace)
|
|
50
|
+
: path.join(config.stateDir, 'cartographer');
|
|
46
51
|
this.nodesDir = path.join(this.cartoDir, 'nodes');
|
|
47
52
|
this.indexPath = path.join(this.cartoDir, 'index.json');
|
|
48
53
|
this.maxDepth = config.maxDepth ?? DEFAULT_MAX_DEPTH;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartographerTree.js","sourceRoot":"","sources":["../../src/core/CartographerTree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CartographerTree.js","sourceRoot":"","sources":["../../src/core/CartographerTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1114",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/canonical-migration-contracts.json",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "9b33a634e7195a28bf74da88ccf4dbe6aa2e29e39d9ee85029c4d36a81fbed65",
|
|
3
3
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1114"
|
|
5
5
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-08-02T09:28:33.121Z",
|
|
5
|
+
"instarVersion": "1.3.1114",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1114",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/canonical-migration-contracts.json",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "9b33a634e7195a28bf74da88ccf4dbe6aa2e29e39d9ee85029c4d36a81fbed65",
|
|
3
3
|
"registrySha256": "5413a0c6ef9ba2bda876b509d1c0bfebe450da3708cd5a5d627d6cb836012d58",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1114"
|
|
5
5
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: minor -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Cartographer now has an inert verified-root authority that separates explicit
|
|
9
|
+
root selection from repository verification and paid authoring permission. It
|
|
10
|
+
distinguishes the agent home, the active project checkout, and the Instar source
|
|
11
|
+
checkout; records the canonical path, remote identity, and exact revision; and
|
|
12
|
+
refuses contradictory repository evidence. A selected root without a readable
|
|
13
|
+
Git revision remains eligible for structural hierarchy maintenance but cannot
|
|
14
|
+
authorize paid semantic work.
|
|
15
|
+
|
|
16
|
+
Cartographer state can also be isolated by an authority-minted root namespace,
|
|
17
|
+
preventing two verified projects from sharing one index. Existing runtime
|
|
18
|
+
behavior and the legacy state location remain unchanged until the live consumer
|
|
19
|
+
lands separately.
|
|
20
|
+
|
|
21
|
+
## What to Tell Your User
|
|
22
|
+
|
|
23
|
+
- “This release lays the verified-root foundation for project-aware
|
|
24
|
+
Cartographer navigation. It does not change live navigation yet.”
|
|
25
|
+
- “Structural project maps remain available when Git revision information is
|
|
26
|
+
unavailable, while paid authoring stays withheld until the root is verified.”
|
|
27
|
+
|
|
28
|
+
## Summary of New Capabilities
|
|
29
|
+
|
|
30
|
+
| Capability | How to Use |
|
|
31
|
+
|-----------|-----------|
|
|
32
|
+
| Explicit root selection by provenance | Available to the upcoming live Cartographer consumer |
|
|
33
|
+
| Canonical repository and revision verification | Automatic whenever the new authority is invoked |
|
|
34
|
+
| Structural-only degradation for missing Git identity | Automatic; paid authoring remains off |
|
|
35
|
+
| Per-root Cartographer state isolation | Supply an authority-minted root namespace when constructing a tree |
|
|
36
|
+
| Structured trust-decision evidence | Bind the required recorder to a durable machine-local log |
|
|
37
|
+
|
|
38
|
+
## Evidence
|
|
39
|
+
|
|
40
|
+
Twenty focused root-authority tests and fourteen legacy tree tests cover noisy
|
|
41
|
+
agent homes, real Instar source-tree verification, stale lookalikes, explicit
|
|
42
|
+
port mismatches, missing Git revisions, revision drift, namespace isolation,
|
|
43
|
+
structured decision evidence, and fail-closed recorder behavior. The full
|
|
44
|
+
Cartographer unit set passes 121 checks. TypeScript, repository lint, build, and
|
|
45
|
+
diff validation also pass, and an independent second-pass reviewer concurred
|
|
46
|
+
after all trust-boundary findings were fixed.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Side-Effects Review — Cartographer Verified Root Authority
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `cartographer-verified-root-authority`
|
|
4
|
+
**Date:** `2026-08-02`
|
|
5
|
+
**Author:** `Instar Agent (instar-codey)`
|
|
6
|
+
**Second-pass reviewer:** `Plato (item11b1_second_pass) — concurred after fixes`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
This change adds the inert first half of Item 11B: a typed Cartographer root selector and verifier, plus optional per-root Cartographer state isolation. It distinguishes agent home, active-project checkout, and Instar-source checkout; selects only from explicit provenance; derives canonical Git identity and exact revision; preserves zero-cost structural population when Git HEAD is unreadable; and withholds paid-authoring eligibility unless the selected project/source root is verified. `CartographerTree` keeps its legacy storage path unless a verified-root namespace is supplied. Live navigation, health, and sweep behavior are unchanged in this PR.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- `selectCartographerRootCandidate` — **add** — chooses a candidate from an explicit typed source; a standalone active-project request without a topic binding is refused instead of falling back to agent home.
|
|
15
|
+
- `CartographerRootAuthority.assess` — **add** — deterministically classifies a selected root as verified, structural-only, or refused from canonical filesystem and Git facts, and cannot return a result unless its required structured decision recorder accepts the evidence/rule/outcome row.
|
|
16
|
+
- `CartographerRootAuthority.revalidate` — **add** — checks that repository identity and revision still match immediately before a future trusted operation.
|
|
17
|
+
- `CartographerTree` state namespace validation — **add** — accepts only authority-shaped opaque namespaces and otherwise preserves the legacy singleton path.
|
|
18
|
+
- Live Cartographer routes and sweep startup — **pass-through** — unchanged and still use the existing singleton in this inert PR.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Over-block
|
|
23
|
+
|
|
24
|
+
**What legitimate inputs does this change reject that it shouldn't?**
|
|
25
|
+
|
|
26
|
+
- A standalone agent with a correct active project but no topic binding cannot select that project through this authority. This is intentional: accepting the server's agent-home directory as an implicit substitute is the observed failure mode. The corrective action is to establish provenance, not guess.
|
|
27
|
+
- A repository selected with an expected remote but with no readable configured remote becomes structural-only, so paid authoring is withheld even if the path is actually correct. This is a deliberate cost/trust floor; zero-cost hierarchy maintenance remains available.
|
|
28
|
+
- A selected subdirectory of a valid Git checkout is refused because it is not the checkout top level. Monorepo subproject roots therefore need a future explicit repository-subroot identity design rather than silently inheriting the parent checkout's identity.
|
|
29
|
+
- Agent home is never eligible for paid Cartographer authoring, even when agent home is itself a valid Git repository. This prevents the noisy-home sweep. Any future desire to semantically summarize agent-owned state needs a separately reviewed purpose and population contract.
|
|
30
|
+
|
|
31
|
+
No live request is blocked by this PR because the new authority is not wired to routes yet.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Under-block
|
|
36
|
+
|
|
37
|
+
**What failure modes does this still miss?**
|
|
38
|
+
|
|
39
|
+
- A full checkout at an older revision of the correct remote is still a verified identity at that exact revision unless the provenance source supplies an expected revision. The authority reports the revision honestly and supports an exact revision anchor; PR 11B-2 must revalidate before authoring and expose the selected revision. The known-present query is the semantic ground-truth control rather than treating remote identity as content correctness.
|
|
40
|
+
- Git remote identity is not a defense against a malicious local administrator rewriting repository configuration. This contract addresses accidental wrong-root and stale-lookalike selection, not host compromise.
|
|
41
|
+
- Repository identity does not establish that authored summaries are semantically correct. Summary validation and re-grounding remain separate Cartographer responsibilities.
|
|
42
|
+
- A non-Git directory can still receive a structural-only hierarchy. It cannot become trusted or authorize paid authoring, but its path inventory may still be noisy. PR 11B-2 must label that posture and avoid presenting it as verified knowledge.
|
|
43
|
+
- Remote normalization folds repository-path case only for `github.com`, where equivalent HTTPS/SSH/scp spellings require it. Unknown/self-hosted forges preserve path case, and non-default ports are identity-bearing. This may conservatively refuse two spellings that a particular forge treats as equivalent; it avoids the unsafe inverse of collapsing distinct repositories.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. Level-of-abstraction fit
|
|
48
|
+
|
|
49
|
+
**Is this at the right layer?**
|
|
50
|
+
|
|
51
|
+
Yes. Candidate selection and repository verification live in a dedicated core authority rather than inside navigation scoring, route formatting, sweep polling, or a configuration directory knob. Existing topic-project bindings remain the provenance source; `SafeGitExecutor` remains the only Git subprocess funnel; `CartographerTree` receives only an opaque storage namespace and does not decide which root deserves it.
|
|
52
|
+
|
|
53
|
+
The authority is deliberately inert in 11B-1. This keeps root-verification correctness independently falsifiable before 11B-2 changes any live consumer. Reporting, reading, and authoring will be wired together in 11B-2 so the system cannot report one root while operating on another.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 4. Signal vs authority compliance
|
|
58
|
+
|
|
59
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
60
|
+
|
|
61
|
+
**Does this change hold blocking authority with brittle logic?**
|
|
62
|
+
|
|
63
|
+
- [ ] No — this change produces a signal consumed by an existing smart gate.
|
|
64
|
+
- [ ] No — this change has no block/allow surface.
|
|
65
|
+
- [ ] Yes — but the logic is a smart gate with full conversational context (LLM-backed with recent history or equivalent).
|
|
66
|
+
- [ ] ⚠️ Yes, with brittle logic — STOP. Reshape the design.
|
|
67
|
+
- [x] Yes — deterministic policy authority over enumerable structural invariants (constrained-domain exception).
|
|
68
|
+
|
|
69
|
+
None of those stock message-judgment boxes describes this constrained domain exactly. The change adds a deterministic authority over enumerable filesystem/Git invariants, which `docs/signal-vs-authority.md` permits for domains whose valid inputs can be enumerated. It never judges message meaning, user intent, or competing conversational signals. Canonical path, Git top level, configured remote, and exact revision are structured evidence; contradictory identity is refused, missing proof degrades to structural-only, and zero-cost structural observation remains separate from paid-authoring permission. The authority returns a structured trust status and reason for the future consumer to report.
|
|
70
|
+
|
|
71
|
+
The authority also requires a recorder dependency and emits, for every assessment or revalidation, the provenance-bearing candidate context, normalized expected and observed root signals, the applied rule, and the allow/degrade/refuse outcome. Recorder failure propagates before the outcome is returned. Because 11B-1 has no live consumer, it adds the required and tested contract; 11B-2 must bind it to the machine-local durable decision log at the single live construction seam.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 4b. Judgment-point check (Judgment Within Floors standard)
|
|
76
|
+
|
|
77
|
+
This adds no static heuristic at a competing-signals judgment point. Root identity is a constrained invariant domain: a selected directory exists or does not, is or is not the Git top level, has a readable exact revision or does not, and matches an explicit repository anchor or contradicts it. Missing evidence degrades trust rather than being balanced against conversational context.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 5. Interactions
|
|
82
|
+
|
|
83
|
+
- **Shadowing:** no live check is shadowed in 11B-1. Existing routes, population, health, inline refresh, and sweep startup still receive the legacy singleton tree.
|
|
84
|
+
- **Double-fire:** no background process or route is added. The authority is called only by tests in this PR.
|
|
85
|
+
- **Races:** namespaced state is opt-in and unused by live code. Future consumers must revalidate directly before paid authoring so a HEAD change between initial selection and use becomes a refusal.
|
|
86
|
+
- **Feedback loops:** none. The assessment reads filesystem/Git facts and writes no authority state.
|
|
87
|
+
- **Existing infrastructure:** Git reads use `SafeGitExecutor`'s closed source-tree read-tier allowance, so the authority can inspect an Instar checkout without weakening destructive source-tree protection. Fetch remotes are read with the allowlisted `git remote -v` rather than general Git-config access. Topic bindings are modeled as provenance inputs rather than duplicated in a new configuration store; omitted namespaces preserve the existing Cartographer storage location byte-for-byte.
|
|
88
|
+
- **Decision observability:** every authority outcome passes through one structured recorder chokepoint. Missing/broken recording fails the call instead of returning an unobservable trust decision; the live durable sink is deliberately deferred to the 11B-2 consumer seam because this PR has no runtime construction.
|
|
89
|
+
- **Git-read degradation:** the Git helper's null return is explicitly exempted from the silent-fallback scanner because null is not an unreported substitute here: it becomes structured authority evidence and every resulting structural-only/refused decision must be recorded. The scanner exemption changes no behavior.
|
|
90
|
+
- **MAINTAIN clause:** an unreadable or unborn HEAD produces structural-only eligibility rather than refusal. Its repository-based namespace stays stable when the first HEAD becomes readable, preserving the every-boot hierarchy maintenance path that 11B-2 will exercise live.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 6. External surfaces
|
|
95
|
+
|
|
96
|
+
There is no live external surface in 11B-1. No route response, dashboard, Telegram behavior, sweep setting, egress path, or user action changes. The new exported core types, required authority decision-recorder contract, and optional tree constructor field are internal developer surfaces. Persistent namespaced directories are created only in tests because no runtime caller supplies a namespace yet.
|
|
97
|
+
|
|
98
|
+
**Operator surface:** no operator-facing action is added. Topic bindings remain the existing operator provenance surface; 11B-1 neither adds nor changes its UI/API behavior.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 6b. Operator-surface quality (Operator-Surface Quality standard)
|
|
103
|
+
|
|
104
|
+
No operator surface — not applicable.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
109
|
+
|
|
110
|
+
**Machine-local BY DESIGN.** A Cartographer root assessment describes a checkout on one machine: canonical paths, Git worktree roots, configured remotes, and HEAD revisions can legitimately differ across machines. Each machine must resolve and verify its own root from the topic/project provenance available there. Cartographer indexes also mirror machine-local checkout contents and belong in per-machine state; moving a topic to another machine should cause that machine to select and populate its own verified root rather than replicate an index built against a different filesystem.
|
|
111
|
+
|
|
112
|
+
This PR emits no user-facing notices, creates no replicated durable records, and generates no URLs. The future pool-wide question is “which root did this machine use?”, answered by 11B-2's per-response identity reporting rather than by pretending all machines share a path or revision.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 8. Rollback cost
|
|
117
|
+
|
|
118
|
+
- **Hot-fix release:** revert the new authority module and the optional namespace constructor support.
|
|
119
|
+
- **Data migration:** none in 11B-1; live callers never use the namespaced path.
|
|
120
|
+
- **Agent state repair:** none. Existing Cartographer state stays at the legacy location and remains untouched.
|
|
121
|
+
- **User visibility:** none during rollback because live behavior is unchanged.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Conclusion
|
|
126
|
+
|
|
127
|
+
The review supports shipping 11B-1 as an inert substrate after independent review closes. It caused seven hardenings before merge: agent-home remains ineligible for paid authoring even when Git-valid; an unreadable HEAD explicitly preserves structural-only maintenance; the tree accepts only authority-shaped state namespaces rather than an arbitrary directory label; Instar-source verification uses the Git funnel's closed read-tier allowance instead of being silently downgraded by the source-tree guard; non-default remote ports and unknown-forge path case remain identity-bearing; every deterministic trust outcome requires structured decision recording; and the Git-read degradation is explicitly classified for the repository's no-silent-fallback ratchet instead of increasing its baseline. The known limitations are explicit: identity is not semantic correctness, older same-remote revisions require reporting/ground-truth controls, and monorepo subroots are intentionally not inferred.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Second-pass review (if required)
|
|
132
|
+
|
|
133
|
+
**Reviewer:** Plato (`item11b1_second_pass`)
|
|
134
|
+
**Independent read of the artifact:** initial review found three blockers: real Instar source trees were silently downgraded by `SourceTreeGuard`; remote normalization collapsed distinct explicit ports and unknown-forge path case; and the authority had no required structured decision log. After the fixes, the reviewer concurred: the real Instar worktree verifies with exact revision and remote, port/case distinctions are preserved, and every authority result passes through fail-closed structured recording. The reviewer independently reran the focused suite (34/34) and typecheck.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Evidence pointers
|
|
139
|
+
|
|
140
|
+
- Focused authority and legacy storage tests: 34/34 passing.
|
|
141
|
+
- No-silent-fallback ratchet plus the focused authority/storage set: 39/39 passing after CI exposed the missing classification annotation.
|
|
142
|
+
- Broader Cartographer unit suite: 121/121 passing after the final reviewer-fix delta.
|
|
143
|
+
- Full repository lint: passing.
|
|
144
|
+
- TypeScript build: passing.
|
|
145
|
+
- Real Git fixtures cover noisy agent home, stale remote-mismatched lookalike, explicit-port identity mismatch, source-guard-positive Instar checkout, missing HEAD, revision drift, namespace isolation, traversal-shaped namespace refusal, structured decision evidence, and recorder-failure fail-closed behavior.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Class-Closure Declaration (display-only mirror)
|
|
150
|
+
|
|
151
|
+
No agent-authored-artifact defect and no self-triggered controller — not applicable.
|