@principles/core 1.282.0 → 1.282.2

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.
Files changed (62) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -1
  4. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  5. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +31 -133
  6. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +1 -1
  7. package/dist/runtime-v2/config/index.d.ts +1 -1
  8. package/dist/runtime-v2/config/index.d.ts.map +1 -1
  9. package/dist/runtime-v2/config/index.js.map +1 -1
  10. package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  11. package/dist/runtime-v2/config/pd-config-defaults.js +0 -5
  12. package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  13. package/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  14. package/dist/runtime-v2/config/pd-config-effective.js +0 -5
  15. package/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  16. package/dist/runtime-v2/config/pd-config-types.d.ts +2 -11
  17. package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  18. package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  19. package/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
  20. package/dist/runtime-v2/config/pd-config-validate.js +16 -46
  21. package/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
  22. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js +338 -1
  23. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js.map +1 -1
  24. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts +1 -1
  25. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
  26. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +7 -2
  27. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
  28. package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +0 -2
  29. package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +1 -1
  30. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -3
  31. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  32. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +0 -1
  33. package/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
  34. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts +2 -0
  35. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts.map +1 -0
  36. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js +247 -0
  37. package/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js.map +1 -0
  38. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +0 -1
  39. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
  40. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +0 -1
  41. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
  42. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +5 -5
  43. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
  44. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +0 -1
  45. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -1
  46. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  47. package/dist/runtime-v2/internalization/evaluator-runner.js +57 -1
  48. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  49. package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +7 -0
  50. package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
  51. package/dist/runtime-v2/internalization/internalization-orchestrator.js +43 -1
  52. package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
  53. package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +9 -1
  54. package/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -1
  55. package/dist/runtime-v2/internalization/internalization-transition-decision.js +7 -2
  56. package/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -1
  57. package/dist/runtime-v2/internalization/pitask-metadata.d.ts +8 -0
  58. package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
  59. package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
  60. package/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js +0 -1
  61. package/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js.map +1 -1
  62. package/package.json +1 -1
@@ -428,39 +428,11 @@ function validateWorkspaceConfig(raw, path) {
428
428
  };
429
429
  }
430
430
  // ── Context Injection Validation ────────────────────────────────────────────
431
- function validateEvolutionContextConfig(raw, path) {
432
- const errors = [];
433
- if (!isRecord(raw)) {
434
- return { ok: false, errors: [err(path, 'evolutionContext must be an object', 'Fix evolutionContext to be an object with enabled, maxMessages, maxCharsPerMessage')] };
435
- }
436
- const enabled = readOwn(raw, 'enabled');
437
- if (enabled !== undefined && !isBoolean(enabled)) {
438
- errors.push(err(`${path}.enabled`, 'evolutionContext.enabled must be a boolean', 'Set evolutionContext.enabled to true or false'));
439
- }
440
- const maxMessages = readOwn(raw, 'maxMessages');
441
- if (maxMessages !== undefined && (!isNumber(maxMessages) || !Number.isInteger(maxMessages) || maxMessages < 0)) {
442
- errors.push(err(`${path}.maxMessages`, 'evolutionContext.maxMessages must be a non-negative integer', 'Set evolutionContext.maxMessages to a non-negative integer'));
443
- }
444
- const maxCharsPerMessage = readOwn(raw, 'maxCharsPerMessage');
445
- if (maxCharsPerMessage !== undefined && (!isNumber(maxCharsPerMessage) || !Number.isInteger(maxCharsPerMessage) || maxCharsPerMessage < 0)) {
446
- errors.push(err(`${path}.maxCharsPerMessage`, 'evolutionContext.maxCharsPerMessage must be a non-negative integer', 'Set evolutionContext.maxCharsPerMessage to a non-negative integer'));
447
- }
448
- if (errors.length > 0) {
449
- return { ok: false, errors };
450
- }
451
- return {
452
- ok: true,
453
- value: {
454
- enabled: isBoolean(enabled) ? enabled : true,
455
- maxMessages: isNumber(maxMessages) ? maxMessages : 4,
456
- maxCharsPerMessage: isNumber(maxCharsPerMessage) ? maxCharsPerMessage : 200,
457
- },
458
- };
459
- }
460
431
  function validateContextInjectionConfig(raw, path) {
461
432
  const errors = [];
433
+ const warnings = [];
462
434
  if (!isRecord(raw)) {
463
- return { ok: false, errors: [err(path, 'contextInjection must be an object', 'Fix contextInjection to be an object with optional thinkingOs, projectFocus, evolutionContext fields')] };
435
+ return { ok: false, errors: [err(path, 'contextInjection must be an object', 'Fix contextInjection to be an object with optional thinkingOs and projectFocus fields')] };
464
436
  }
465
437
  // Reject dangerous keys
466
438
  for (const dk of DANGEROUS_KEYS) {
@@ -487,29 +459,25 @@ function validateContextInjectionConfig(raw, path) {
487
459
  result.projectFocus = projectFocus;
488
460
  }
489
461
  }
490
- const evolutionContext = readOwn(raw, 'evolutionContext');
491
- if (evolutionContext !== undefined) {
492
- const ecResult = validateEvolutionContextConfig(evolutionContext, `${path}.evolutionContext`);
493
- if (ecResult.ok) {
494
- result.evolutionContext = ecResult.value;
495
- }
496
- else {
497
- errors.push(...ecResult.errors);
498
- }
499
- }
500
- // Reject unknown keys
462
+ // Reject unknown keys. `evolutionContext` stays a known key only as a
463
+ // tolerated legacy no-op (PRI-772): prompt assembly never consumed it, so
464
+ // accepting it keeps old configs loading — the warning keeps the tolerance
465
+ // observable (rc-9) instead of letting a dead key look live.
501
466
  const knownKeys = new Set(['thinkingOs', 'projectFocus', 'evolutionContext']);
502
467
  for (const key of Object.keys(raw)) {
503
468
  if (DANGEROUS_KEYS.has(key))
504
469
  continue;
505
- if (!knownKeys.has(key)) {
506
- errors.push(err(`${path}.${key}`, `unknown key '${key}' in contextInjection`, `Remove unknown key '${key}' from contextInjection`));
507
- }
470
+ if (knownKeys.has(key))
471
+ continue;
472
+ errors.push(err(`${path}.${key}`, `unknown key '${key}' in contextInjection`, `Remove unknown key '${key}' from contextInjection`));
473
+ }
474
+ if (Object.hasOwn(raw, 'evolutionContext')) {
475
+ warnings.push(`${path}.evolutionContext is a retired no-op (no runtime consumer ever read it) and is now ignored — remove it from .pd/config.yaml`);
508
476
  }
509
477
  if (errors.length > 0) {
510
478
  return { ok: false, errors };
511
479
  }
512
- return { ok: true, value: result };
480
+ return { ok: true, value: result, warnings };
513
481
  }
514
482
  // ── Top-Level Validation ────────────────────────────────────────────────────
515
483
  /**
@@ -518,6 +486,7 @@ function validateContextInjectionConfig(raw, path) {
518
486
  */
519
487
  export function validatePdConfig(raw) {
520
488
  const errors = [];
489
+ const warnings = [];
521
490
  if (raw === null || raw === undefined) {
522
491
  return {
523
492
  ok: false,
@@ -655,6 +624,7 @@ export function validatePdConfig(raw) {
655
624
  const ciResult = validateContextInjectionConfig(contextInjectionRaw, 'contextInjection');
656
625
  if (ciResult.ok) {
657
626
  contextInjection = ciResult.value;
627
+ warnings.push(...ciResult.warnings);
658
628
  }
659
629
  else {
660
630
  errors.push(...ciResult.errors);
@@ -700,6 +670,6 @@ export function validatePdConfig(raw) {
700
670
  ...(profile ? { profile } : {}),
701
671
  ...(contextInjection ? { contextInjection } : {}),
702
672
  };
703
- return { ok: true, value: config };
673
+ return { ok: true, value: config, warnings };
704
674
  }
705
675
  //# sourceMappingURL=pd-config-validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pd-config-validate.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pd-config-validate.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-validate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { describe, expect, it } from 'vitest';
2
+ import * as fsSync from 'fs';
3
+ import * as pathSync from 'path';
2
4
  import { DEFAULT_FEATURE_FLAGS } from '../feature-flag-contract.js';
3
5
  import { QUIET_FLAG_LIFECYCLE, } from '../feature-flag-lifecycle.js';
4
6
  /**
@@ -72,7 +74,7 @@ describe('PRI-610 feature flag lifecycle census', () => {
72
74
  }
73
75
  });
74
76
  it('legacy_retire category is a recognized, currently-empty transition state (documented semantics)', () => {
75
- // Category semantics (docs/governance/feature-flag-lifecycle-census.md):
77
+ // Category semantics (docs/process/feature-flag-lifecycle-census.md):
76
78
  // - gone = retired; can never be re-enabled; code deleted or inert.
77
79
  // - legacy_retire = deletion approved and scheduled; behaves like quiet
78
80
  // (config override still honored) until the code removal PR lands, then
@@ -80,4 +82,339 @@ describe('PRI-610 feature flag lifecycle census', () => {
80
82
  expect(legacyRetireFlags.length).toBe(0);
81
83
  });
82
84
  });
85
+ // ── PRI-779: Feature Flag Consumer Reality Guard ────────────────────────────
86
+ //
87
+ // PRI-769 §6 A1 / M2: census `consumers` claims were never machine-checked,
88
+ // which is how empathy_observer ("observer wiring" that never existed),
89
+ // painEvidenceAdmission (kill switch whose Gate A subject was deleted by a
90
+ // later refactor) and evolution_worker (flag outliving its deleted worker)
91
+ // stayed rotten until manual audit campaigns. Three guards close that gap:
92
+ //
93
+ // Guard 1 (path reality) — a census consumers entry that IS a bare path
94
+ // must resolve to a real file under
95
+ // packages/*/src or plugins/*/src.
96
+ // Guard 2 (zombie flags) — every quiet flag whose census decision is not
97
+ // STAGED must have at least one executable
98
+ // consumer read in production sources.
99
+ // Guard 3 (resurrection) — gone tombstones must have ZERO executable
100
+ // consumer reads; a runtime read of a retired
101
+ // flag fails CI.
102
+ //
103
+ // Scope notes:
104
+ // - Core flags are out of scope: they have no census rows and are
105
+ // Owner-approved by definition (AGENTS.md §5; PRI-769 §1.3).
106
+ // - "Executable read" is source-level (not AST): the flag id appears as a
107
+ // complete quoted string, or as a `.flagId` member access on any receiver —
108
+ // the read shapes observed across every currently-wired flag
109
+ // (isFeatureEnabled / loadFeatureFlagFromConfig / loadFeatureFlagFromWorkspace
110
+ // / resolveObserverConfig args, pdFlags.flags.x, ctx.featureFlags?.x,
111
+ // userFeatures.x). Dynamic `flags[variable]` dispatch and string-built ids
112
+ // are undetectable at this level and accepted as a known limit.
113
+ // - Comments, the registry module itself, the Console label map and
114
+ // enumLabel() display lookups never count as reads (census doc: label maps
115
+ // are display-only). Test files are excluded from the corpus.
116
+ const REPO_ROOT = pathSync.resolve(__dirname, '..', '..', '..', '..', '..', '..');
117
+ const CORPUS_EXTENSIONS = new Set(['.ts', '.tsx', '.js', '.jsx', '.cjs', '.mjs']);
118
+ const CORPUS_EXCLUDED_DIRS = new Set(['__tests__', 'tests', 'node_modules', 'dist']);
119
+ // Registry/self-reference layer: the flag module defines the ids, it never
120
+ // "consumes" them. The Console label map is display-only per the census doc.
121
+ const CORPUS_EXCLUDED_FRAGMENTS = ['packages/principles-core/src/runtime-v2/feature-flags/'];
122
+ const CORPUS_EXCLUDED_FILE_NAMES = new Set(['enum-labels.ts', 'enum-labels.tsx']);
123
+ function isTestLikePath(path) {
124
+ return /(^|\/)(__tests__|tests)\//.test(path) || /\.(test|spec)\.[cm]?[jt]sx?$/.test(path);
125
+ }
126
+ /** Single exclusion predicate shared by the real-repo walker AND the matcher,
127
+ * so fixtures and production scans classify paths identically. */
128
+ function isExcludedConsumerPath(path) {
129
+ if (isTestLikePath(path))
130
+ return true;
131
+ if (CORPUS_EXCLUDED_FRAGMENTS.some(fragment => path.includes(fragment)))
132
+ return true;
133
+ const fileName = path.split('/').pop() ?? '';
134
+ return CORPUS_EXCLUDED_FILE_NAMES.has(fileName);
135
+ }
136
+ function collectConsumerCorpus() {
137
+ const files = [];
138
+ const walk = (dir) => {
139
+ let entries;
140
+ try {
141
+ entries = fsSync.readdirSync(dir, { withFileTypes: true });
142
+ }
143
+ catch {
144
+ return; // unreadable directory: skipped, never silent for files we matched
145
+ }
146
+ for (const entry of entries) {
147
+ const fullPath = pathSync.join(dir, entry.name);
148
+ if (entry.isDirectory()) {
149
+ if (!CORPUS_EXCLUDED_DIRS.has(entry.name))
150
+ walk(fullPath);
151
+ continue;
152
+ }
153
+ if (!entry.isFile() || !CORPUS_EXTENSIONS.has(pathSync.extname(entry.name)))
154
+ continue;
155
+ const relPath = pathSync.relative(REPO_ROOT, fullPath).split(pathSync.sep).join('/');
156
+ if (isExcludedConsumerPath(relPath))
157
+ continue;
158
+ let content;
159
+ try {
160
+ content = fsSync.readFileSync(fullPath, 'utf8');
161
+ }
162
+ catch {
163
+ continue;
164
+ }
165
+ files.push({ path: relPath, content });
166
+ }
167
+ };
168
+ for (const rootDir of ['packages', 'plugins']) {
169
+ const root = pathSync.join(REPO_ROOT, rootDir);
170
+ if (fsSync.existsSync(root))
171
+ walk(root);
172
+ }
173
+ files.sort((a, b) => a.path.localeCompare(b.path));
174
+ return files;
175
+ }
176
+ let realCorpusCache = null;
177
+ function loadRealCorpus() {
178
+ if (!realCorpusCache)
179
+ realCorpusCache = collectConsumerCorpus();
180
+ return realCorpusCache;
181
+ }
182
+ // Display-layer label lookup (e.g. the empathy cost hint renders the retired
183
+ // id as a label): renders an id, never gates behavior.
184
+ const DISPLAY_LOOKUP_LINE = /\benumLabel\s*\(/;
185
+ function escapeRegExp(value) {
186
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
187
+ }
188
+ function flagReadPatterns(id) {
189
+ const quoted = escapeRegExp(id);
190
+ return [
191
+ // Quoted id: resolver/helper args (isFeatureEnabled(flags, 'id'),
192
+ // loadFeatureFlagFromConfig(dir, 'id', …), Object.hasOwn(flags, 'id')),
193
+ // and quoted flag-id constants.
194
+ new RegExp(`['"]${quoted}['"]`),
195
+ // Member access on any receiver: pdFlags.flags.gfi,
196
+ // ctx.featureFlags?.governance_experience_v1, userFeatures.diagnostician_split_pipeline.
197
+ // The lookbehind keeps import paths like './alpha_flag.js' out.
198
+ new RegExp(`(?<![/.])\\.${quoted}\\b`),
199
+ ];
200
+ }
201
+ /** Source-level comment stripping with cross-line block-comment state, so a
202
+ * quoted id inside a multi-line JSX/block comment never counts as a read.
203
+ * Naive by design: a string literal containing '//' or '/*' can truncate the
204
+ * code portion of its line — that only risks hiding a read (guard fails,
205
+ * human inspects), never inventing one. */
206
+ function stripComments(line, state) {
207
+ let code = '';
208
+ let index = 0;
209
+ while (index < line.length) {
210
+ if (state.inBlockComment) {
211
+ const end = line.indexOf('*/', index);
212
+ if (end === -1) {
213
+ index = line.length;
214
+ }
215
+ else {
216
+ state.inBlockComment = false;
217
+ index = end + 2;
218
+ }
219
+ continue;
220
+ }
221
+ const blockStart = line.indexOf('/*', index);
222
+ const lineStart = line.indexOf('//', index);
223
+ if (lineStart !== -1 && (blockStart === -1 || lineStart < blockStart)) {
224
+ code += line.slice(index, lineStart);
225
+ index = line.length;
226
+ }
227
+ else if (blockStart === -1) {
228
+ code += line.slice(index);
229
+ index = line.length;
230
+ }
231
+ else {
232
+ code += line.slice(index, blockStart);
233
+ state.inBlockComment = true;
234
+ index = blockStart + 2;
235
+ }
236
+ }
237
+ return code;
238
+ }
239
+ const MAX_MATCHES_PER_FLAG = 20;
240
+ function globToPathRegExp(pattern) {
241
+ const source = pattern
242
+ .split('**')
243
+ .map(part => part.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '[^/]*'))
244
+ .join('.*');
245
+ return new RegExp(`(?:^|/)${source}$`);
246
+ }
247
+ function findFlagReads(files, ids) {
248
+ const patterns = new Map(ids.map(id => [id, flagReadPatterns(id)]));
249
+ const reads = new Map(ids.map(id => [id, []]));
250
+ for (const file of files) {
251
+ if (isExcludedConsumerPath(file.path))
252
+ continue;
253
+ const commentState = { inBlockComment: false };
254
+ const lines = file.content.split('\n');
255
+ for (const [index, line] of lines.entries()) {
256
+ const code = stripComments(line, commentState);
257
+ const trimmed = code.trim();
258
+ if (trimmed.length === 0 || DISPLAY_LOOKUP_LINE.test(code))
259
+ continue;
260
+ for (const [id, regexes] of patterns) {
261
+ if (!regexes.some(regex => regex.test(code)))
262
+ continue;
263
+ const matches = reads.get(id);
264
+ if (matches && matches.length < MAX_MATCHES_PER_FLAG) {
265
+ matches.push({ path: file.path, line: index + 1, snippet: trimmed.slice(0, 160) });
266
+ }
267
+ }
268
+ }
269
+ }
270
+ return reads;
271
+ }
272
+ function formatMatches(matches) {
273
+ return matches
274
+ .slice(0, 5)
275
+ .map(match => `${match.path}:${match.line} — ${match.snippet}`)
276
+ .join('; ');
277
+ }
278
+ // PRI-779 minimal exemptions for Guard 3: exact-quoted gone ids that are
279
+ // validation/keyword metadata, not capability reads. Each entry needs a
280
+ // recorded reason; keep this list minimal.
281
+ const GONE_READ_EXEMPT_PATHS = new Set([
282
+ // MVP_GONE_FLAGS: installer --channels input validation rejects retired
283
+ // channel names; it validates user input, it never reads a flag.
284
+ 'packages/create-principles-disciple/src/mvp-config.ts',
285
+ // LEGACY_KEYWORDS: legacy channel-name text probe in the proven-channel
286
+ // baseline; keyword metadata, not a flag read.
287
+ 'packages/principles-core/src/runtime-v2/proven-channel-baseline.ts',
288
+ ]);
289
+ function quietFlagReadViolations(files, decisions) {
290
+ const ids = Object.keys(decisions);
291
+ const reads = findFlagReads(files, ids);
292
+ const violations = [];
293
+ for (const id of ids) {
294
+ if (decisions[id] === 'STAGED')
295
+ continue; // wiring deliberately pending (roadmap-owned)
296
+ const matches = reads.get(id) ?? [];
297
+ if (matches.length === 0) {
298
+ violations.push(`quiet flag '${id}' has no executable consumer read in production sources`
299
+ + ' — wire the consumer in the same PR, or mark the census entry STAGED with the roadmap issue that will wire it (PRI-769 §4.2)');
300
+ }
301
+ }
302
+ return violations;
303
+ }
304
+ function goneFlagReadViolations(files, ids) {
305
+ const reads = findFlagReads(files, ids);
306
+ const violations = [];
307
+ for (const id of ids) {
308
+ const matches = (reads.get(id) ?? []).filter(match => !GONE_READ_EXEMPT_PATHS.has(match.path));
309
+ if (matches.length > 0) {
310
+ violations.push(`gone flag '${id}' must have zero executable consumer reads (terminal tombstone) but is read at: ${formatMatches(matches)}`
311
+ + ' — remove the read, or re-register the capability through the census procedure if it is returning');
312
+ }
313
+ }
314
+ return violations;
315
+ }
316
+ /** Guard 1: a census consumers entry that is exactly one path-like token
317
+ * (contains '/' and no whitespace) must resolve to at least one real corpus
318
+ * file, with or without the packages/ or plugins/ prefix. Mixed prose
319
+ * entries carry no checkable path claim — their reality burden falls on
320
+ * Guard 2 (flag-level executable reads). */
321
+ function censusPathViolations(census, corpusPaths) {
322
+ const strippedPaths = corpusPaths.map(p => p.replace(/^(?:packages|plugins)\//, ''));
323
+ const violations = [];
324
+ for (const [id, entry] of Object.entries(census)) {
325
+ for (const consumer of entry.consumers) {
326
+ const token = consumer.trim();
327
+ if (/\s/.test(token) || !token.includes('/'))
328
+ continue;
329
+ const regex = globToPathRegExp(token);
330
+ const resolves = corpusPaths.some(p => regex.test(p)) || strippedPaths.some(p => regex.test(p));
331
+ if (!resolves) {
332
+ violations.push(`census consumers entry '${token}' (${id}) does not resolve to any file under packages/*/src or plugins/*/src`
333
+ + ' — update the census entry to the real current path (PRI-769 §5: consumers must be real paths)');
334
+ }
335
+ }
336
+ }
337
+ return violations;
338
+ }
339
+ describe('PRI-779 consumer reality guard — matcher units (synthetic fixtures)', () => {
340
+ const file = (path, content) => ({ path, content });
341
+ it('Case 1: quiet flag with a resolver read satisfies the zombie guard', () => {
342
+ const files = [file('packages/x/src/a.ts', "const on = isFeatureEnabled(flags, 'alpha_flag');\n")];
343
+ const violations = quietFlagReadViolations(files, { alpha_flag: 'KEEP_QUIET' });
344
+ expect(violations).toEqual([]);
345
+ });
346
+ it('Case 2: census consumer path that does not exist fails the path guard', () => {
347
+ const census = {
348
+ alpha_flag: { decision: 'KEEP_QUIET', consumers: ['packages/foo/not-exist.ts'] },
349
+ };
350
+ const violations = censusPathViolations(census, ['packages/x/src/a.ts']);
351
+ expect(violations.length).toBe(1);
352
+ expect(violations[0]).toContain('packages/foo/not-exist.ts');
353
+ });
354
+ it('Case 3: quiet flag with no executable read fails the zombie guard with an actionable message', () => {
355
+ const violations = quietFlagReadViolations([], { alpha_flag: 'KEEP_QUIET' });
356
+ expect(violations.length).toBe(1);
357
+ expect(violations[0]).toContain("'alpha_flag'");
358
+ });
359
+ it('Case 4: STAGED flag with no consumer is exempt from the zombie guard', () => {
360
+ const violations = quietFlagReadViolations([], { alpha_flag: 'STAGED' });
361
+ expect(violations).toEqual([]);
362
+ });
363
+ it('Case 5: a runtime read of a gone flag fails the resurrection guard', () => {
364
+ const files = [file('packages/x/src/a.ts', "return isFeatureEnabled(flags, 'retired_flag');\n")];
365
+ const violations = goneFlagReadViolations(files, ['retired_flag']);
366
+ expect(violations.length).toBe(1);
367
+ expect(violations[0]).toContain('packages/x/src/a.ts:1');
368
+ });
369
+ it('Case 6: display-layer, label-map, comment and test references never count as executable reads', () => {
370
+ const files = [
371
+ file('packages/x/src/a.test.ts', "const on = isFeatureEnabled(flags, 'alpha_flag');\n"),
372
+ file('packages/x/src/__tests__/b.ts', "const on = isFeatureEnabled(flags, 'alpha_flag');\n"),
373
+ file('packages/x/src/enum-labels.ts', " 'alpha_flag': '标签',\n"),
374
+ file('packages/x/src/c.tsx', "const label = enumLabel('featureId', 'alpha_flag', t);\n"),
375
+ file('packages/x/src/d.ts', "// the 'alpha_flag' flag was retired\n"),
376
+ file('packages/x/src/e.ts', ' * - feature flag alpha_flag off\n'),
377
+ // Multi-line JSX block comment (the empathy_observer ControlCenter case).
378
+ file('packages/x/src/h.tsx', "{/*\n 'alpha_flag' (snake_case) is the featureId used for display. */}\n"),
379
+ // Near-miss strings must not match: quoted id must be exact, not a prefix.
380
+ file('packages/x/src/f.ts', "reason: 'alpha_flag_disabled',\n"),
381
+ file('packages/x/src/g.ts', "track('alpha_flag_result', {}),\n"),
382
+ // Import path './alpha_flag.js' is not a member access on a receiver.
383
+ file('packages/x/src/i.ts', "import { x } from './alpha_flag.js';\n"),
384
+ ];
385
+ const violations = quietFlagReadViolations(files, { alpha_flag: 'KEEP_QUIET' });
386
+ expect(violations.length).toBe(1);
387
+ });
388
+ it('Guard 3 exemptions are file-scoped: exempt paths hide validation metadata only', () => {
389
+ const files = [file('packages/create-principles-disciple/src/mvp-config.ts', "const GONE = ['retired_flag'];\n")];
390
+ const violations = goneFlagReadViolations(files, ['retired_flag']);
391
+ expect(violations).toEqual([]);
392
+ });
393
+ });
394
+ describe('PRI-779 consumer reality guard — real sources', () => {
395
+ const corpus = loadRealCorpus();
396
+ const corpusPaths = corpus.map(f => f.path);
397
+ it('scanner sanity: the corpus walks real production sources (fail loud on empty scan)', () => {
398
+ expect(corpusPaths.length).toBeGreaterThan(500);
399
+ });
400
+ it('Guard 1: single-token census consumer paths resolve to real files', () => {
401
+ const violations = censusPathViolations(QUIET_FLAG_LIFECYCLE, corpusPaths);
402
+ expect(violations, violations.join('\n')).toEqual([]);
403
+ });
404
+ it('Guard 2: every non-STAGED quiet flag has at least one executable consumer read', () => {
405
+ const decisions = {};
406
+ for (const flag of quietFlags) {
407
+ const entry = QUIET_FLAG_LIFECYCLE[flag.id];
408
+ if (!entry)
409
+ throw new Error(`quiet flag '${flag.id}' has no census entry (PRI-610 test should have caught this)`);
410
+ decisions[flag.id] = entry.decision;
411
+ }
412
+ const violations = quietFlagReadViolations(corpus, decisions);
413
+ expect(violations, violations.join('\n')).toEqual([]);
414
+ });
415
+ it('Guard 3: gone tombstones have zero executable consumer reads', () => {
416
+ const violations = goneFlagReadViolations(corpus, goneFlags.map(f => f.id));
417
+ expect(violations, violations.join('\n')).toEqual([]);
418
+ });
419
+ });
83
420
  //# sourceMappingURL=feature-flag-lifecycle.test.js.map