create-principles-disciple 1.140.0 → 1.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codex-adapter/dist/codec/input-decoder.js +4 -2
- package/codex-adapter/dist/pd-hook.d.ts +1 -0
- package/codex-adapter/dist/pd-hook.js +70 -2
- package/codex-adapter/package.json +1 -1
- package/console/dist/server/config/pd-config-store.d.ts +5 -0
- package/console/dist/server/config/pd-config-store.js +26 -2
- package/core/dist/host/host-adapter.d.ts +20 -0
- package/core/dist/host/host-adapter.d.ts.map +1 -1
- package/core/dist/host/host-adapter.js.map +1 -1
- package/core/dist/host/index.d.ts +1 -1
- package/core/dist/host/index.d.ts.map +1 -1
- package/core/dist/host/index.js.map +1 -1
- package/core/dist/index.d.ts +1 -1
- package/core/dist/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/__tests__/adversarial-loop.test.js +27 -3
- package/core/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/append-event-log-line.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/append-event-log-line.test.js +47 -0
- package/core/dist/runtime-v2/__tests__/append-event-log-line.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +73 -12
- package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/event-types-runid.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/event-types-runid.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/event-types-runid.test.js +28 -0
- package/core/dist/runtime-v2/__tests__/event-types-runid.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -1
- package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +31 -133
- package/core/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +1 -1
- package/core/dist/runtime-v2/config/index.d.ts +1 -1
- package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/index.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.js +0 -5
- package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.js +0 -5
- package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +2 -11
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js +16 -46
- package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +5 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js +338 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js +11 -11
- package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +5 -5
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +13 -8
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +1 -1
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +1 -1
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +0 -2
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +18 -27
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +40 -33
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -3
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +0 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js +247 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-approved-replay-failed-repair.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +22 -5
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +20 -5
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +25 -19
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js +17 -4
- package/core/dist/runtime-v2/internalization/__tests__/evolution-alignment-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +24 -0
- package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js +18 -21
- package/core/dist/runtime-v2/internalization/__tests__/peer-prompt-language.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +19 -5
- package/core/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +17 -6
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +23 -22
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +6 -2
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +19 -14
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +57 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +7 -0
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.js +43 -1
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-transition-decision.d.ts +9 -1
- package/core/dist/runtime-v2/internalization/internalization-transition-decision.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-transition-decision.js +7 -2
- package/core/dist/runtime-v2/internalization/internalization-transition-decision.js.map +1 -1
- package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts +8 -0
- package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.d.ts +13 -0
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +17 -0
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js +0 -1
- package/core/dist/runtime-v2/runner/__tests__/base-peer-runner-rate-limit-degradation.test.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +9 -0
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +3 -0
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/package.json +1 -1
- package/host-runtime/dist/index.d.ts +10 -1
- package/host-runtime/dist/index.js +39 -2
- package/host-runtime/dist/internalization-consumer-cycle.js +30 -2
- package/host-runtime/dist/pd-config.js +1 -1
- package/host-runtime/dist/production-pain-evidence.d.ts +2 -1
- package/host-runtime/dist/production-pain-evidence.js +34 -7
- package/host-runtime/package.json +1 -1
- package/package.json +2 -2
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +42 -21
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -1
- package/pd-cli/dist/services/pd-config-loader.d.ts +5 -0
- package/pd-cli/dist/services/pd-config-loader.d.ts.map +1 -1
- package/pd-cli/dist/services/pd-config-loader.js +26 -1
- package/pd-cli/dist/services/pd-config-loader.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +5 -3
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +10 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/plugin/dist/bundle.js +595 -586
- package/plugin/dist/governance-audit.js +116 -116
- package/plugin/dist/rulehost-evidence.js +177 -177
- package/plugin/dist/types.d.ts +1 -1
- package/plugin/openclaw.plugin.json +1 -1
- package/plugin/package.json +2 -2
- package/release-manager/package.json +2 -2
|
@@ -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/
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flag-lifecycle.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;GAQG;AAEH,MAAM,eAAe,GAA0C,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE9G,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC7E,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC3E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC;AAE5F,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CACJ,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,EAC5C,eAAe,IAAI,CAAC,EAAE,iIAAiI,CACxJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnD,MAAM,CACJ,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,oBAAoB,EAAE,8FAA8F,CACrH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,GAAG,EAAE;QACvG,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,uBAAuB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3G,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,wCAAwC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,sCAAsC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAClG,oEAAoE;YACpE,sEAAsE;YACtE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,2CAA2C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7G,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,qCAAqC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,CACJ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EACzE,GAAG,EAAE,gFAAgF,CACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAChG,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,0CAA0C,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClF,MAAM,CACJ,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,sDAAsD,CAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,MAAM,CACJ,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC9F,GAAG,EAAE,gHAAgH,CACtH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACb,mEAAmE;gBACnE,sEAAsE;gBACtE,qEAAqE;gBACrE,sEAAsE;gBACtE,wCAAwC;gBACxC,MAAM,CACJ,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAC1F,GAAG,EAAE,4BAA4B,KAAK,CAAC,OAAO,kFAAkF,CACjI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAChG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9E,MAAM,CACJ,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,EAC5C,cAAc,IAAI,CAAC,EAAE,+DAA+D,CACrF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE,GAAG,EAAE;QACzG,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"feature-flag-lifecycle.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,11 @@ describe('rulecode_context_v2 flag registration (PRI-479)', () => {
|
|
|
13
13
|
it('is registered in DEFAULT_FEATURE_FLAGS', () => {
|
|
14
14
|
expect(findFlag()).toBeDefined();
|
|
15
15
|
});
|
|
16
|
-
it('has category "quiet" (
|
|
16
|
+
it('has category "quiet" (graduated default-on stays config-disableable, not core)', () => {
|
|
17
17
|
expect(findFlag().category).toBe('quiet');
|
|
18
18
|
});
|
|
19
|
-
it('defaults to enabled=
|
|
20
|
-
expect(findFlag().enabled).toBe(
|
|
19
|
+
it('defaults to enabled=true (PRI-780 default-on convergence)', () => {
|
|
20
|
+
expect(findFlag().enabled).toBe(true);
|
|
21
21
|
});
|
|
22
22
|
it('has since field matching YYYY-MM-DD', () => {
|
|
23
23
|
expect(/^\d{4}-\d{2}-\d{2}$/.test(findFlag().since)).toBe(true);
|
|
@@ -29,29 +29,29 @@ describe('rulecode_context_v2 flag registration (PRI-479)', () => {
|
|
|
29
29
|
const desc = findFlag().description ?? '';
|
|
30
30
|
expect(desc.includes('PRI-479') || desc.toLowerCase().includes('rulecode context v2')).toBe(true);
|
|
31
31
|
});
|
|
32
|
-
it('is
|
|
32
|
+
it('is enabled by default at the contract layer with no overrides', () => {
|
|
33
33
|
const r = computeEffectiveFlags({}, DEFAULT_FEATURE_FLAGS, '/test/.pd/feature-flags.yaml');
|
|
34
|
-
expect(r.flags[FLAG_ID]?.enabled).toBe(
|
|
34
|
+
expect(r.flags[FLAG_ID]?.enabled).toBe(true);
|
|
35
35
|
});
|
|
36
36
|
it('can be explicitly enabled at the contract layer', () => {
|
|
37
37
|
const r = computeEffectiveFlags({ [FLAG_ID]: { enabled: true } }, DEFAULT_FEATURE_FLAGS, '/test/.pd/feature-flags.yaml');
|
|
38
38
|
expect(r.flags[FLAG_ID]?.enabled).toBe(true);
|
|
39
39
|
});
|
|
40
|
-
it('stays off when explicitly disabled at the contract layer', () => {
|
|
40
|
+
it('stays off when explicitly disabled at the contract layer (migration kill switch)', () => {
|
|
41
41
|
const r = computeEffectiveFlags({ [FLAG_ID]: { enabled: false } }, DEFAULT_FEATURE_FLAGS, '/test/.pd/feature-flags.yaml');
|
|
42
42
|
expect(r.flags[FLAG_ID]?.enabled).toBe(false);
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
45
|
describe('rulecode_context_v2 flag propagation through PD config (PRI-479)', () => {
|
|
46
|
-
it('is present in getDefaultPdConfig().features with quiet/
|
|
46
|
+
it('is present in getDefaultPdConfig().features with quiet/true (PRI-780 default-on)', () => {
|
|
47
47
|
const defaults = getDefaultPdConfig();
|
|
48
48
|
expect(Object.hasOwn(defaults.features, FLAG_ID)).toBe(true);
|
|
49
|
-
expect(defaults.features[FLAG_ID]).toEqual({ category: 'quiet', enabled:
|
|
49
|
+
expect(defaults.features[FLAG_ID]).toEqual({ category: 'quiet', enabled: true });
|
|
50
50
|
});
|
|
51
|
-
it('is
|
|
51
|
+
it('is enabled by default when computing feature flags from a null config', () => {
|
|
52
52
|
const effective = computeEffectivePdConfig(null);
|
|
53
53
|
const result = computeFeatureFlagsFromConfig(effective);
|
|
54
|
-
expect(result.flags[FLAG_ID]?.enabled).toBe(
|
|
54
|
+
expect(result.flags[FLAG_ID]?.enabled).toBe(true);
|
|
55
55
|
expect(result.flags[FLAG_ID]?.category).toBe('quiet');
|
|
56
56
|
});
|
|
57
57
|
it('can be enabled via PD config override (config.features.rulecode_context_v2.enabled = true)', () => {
|
|
@@ -62,7 +62,7 @@ describe('rulecode_context_v2 flag propagation through PD config (PRI-479)', ()
|
|
|
62
62
|
expect(result.flags[FLAG_ID]?.enabled).toBe(true);
|
|
63
63
|
expect(result.warnings.some(w => w.includes(FLAG_ID) && w.includes('unknown flag')), 'flag must be registered (no "unknown flag" warning)').toBe(false);
|
|
64
64
|
});
|
|
65
|
-
it('stays disabled when config override explicitly sets enabled=false', () => {
|
|
65
|
+
it('stays disabled when config override explicitly sets enabled=false (kill switch)', () => {
|
|
66
66
|
const rawConfig = getDefaultPdConfig();
|
|
67
67
|
rawConfig.features[FLAG_ID] = { category: 'quiet', enabled: false };
|
|
68
68
|
const effective = computeEffectivePdConfig(rawConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulecode-context-v2-flag.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,8CAA8C,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"rulecode-context-v2-flag.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,8CAA8C,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,MAAM,CACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,EAAE,8BAA8B,CAAC,CAAC;QAC3F,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,GAAG,qBAAqB,CAC7B,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAChC,qBAAqB,EACrB,8BAA8B,CAC/B,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,CAAC,GAAG,qBAAqB,CAC7B,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EACjC,qBAAqB,EACrB,8BAA8B,CAC/B,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAChF,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,GAAG,EAAE;QACpG,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CACJ,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAC5E,qDAAqD,CACtD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CACJ,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAC5E,qDAAqD,CACtD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -223,11 +223,11 @@ export const DEFAULT_FEATURE_FLAGS = [
|
|
|
223
223
|
{ id: 'intent_engineering', category: 'quiet', enabled: false, since: '2026-06-25', description: 'INTENT.md-grounded constructive friction and Stage-A intent tension diagnosis (PRI-465). Default off; flag-off = no INTENT read, no prompt injection, no intentTension.' },
|
|
224
224
|
// PRI-479: RuleContext v2 — foundation flag for the rule-code context vision
|
|
225
225
|
// (spec: docs/superpowers/specs/2026-06-27-rulecode-context-vision-design.md).
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
//
|
|
229
|
-
//
|
|
230
|
-
{ id: 'rulecode_context_v2', category: 'quiet', enabled:
|
|
226
|
+
// PRI-780 (2026-09-13): graduated to default-ON — Runtime Governance Context
|
|
227
|
+
// is the default governance path (ADR 2026-06-28 amendment). Category stays
|
|
228
|
+
// quiet so an explicit `enabled: false` in .pd/config.yaml remains the
|
|
229
|
+
// migration-period kill switch (context absent; v2 generation refused).
|
|
230
|
+
{ id: 'rulecode_context_v2', category: 'quiet', enabled: true, since: '2026-06-27', description: 'RuleContext v2 — runtime governance context. Default ON since 2026-09-13 (PRI-479 foundation, PRI-780 convergence); explicit config disable = migration kill switch. See ADR 2026-06-28 amendment and docs/superpowers/specs/2026-06-27-rulecode-context-vision-design.md' },
|
|
231
231
|
// Task 7: Failed tasks observability — list/view failed pipeline tasks.
|
|
232
232
|
// Unsolicited new code defaults to MVP-Quiet (ADR-0014 §2.5). Default-on so
|
|
233
233
|
// operators can list failed tasks out of the box; disable via .pd/config.yaml:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flag-contract.js","sourceRoot":"","sources":["../../../src/runtime-v2/feature-flags/feature-flag-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feature-flag-contract.js","sourceRoot":"","sources":["../../../src/runtime-v2/feature-flags/feature-flag-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Adding a new quiet flag REQUIRES a lifecycle entry here stating:
|
|
19
19
|
* Purpose / Default / Rollback / Graduation criteria / Retirement criteria /
|
|
20
|
-
* Exit path (see docs/
|
|
20
|
+
* Exit path (see docs/process/feature-flag-lifecycle-census.md §New-flag rule).
|
|
21
21
|
*/
|
|
22
22
|
export type QuietFlagLifecycleDecision = 'KEEP_QUIET' | 'GRADUATE' | 'RETIRE' | 'STAGED';
|
|
23
23
|
export interface QuietFlagLifecycleEntry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flag-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/feature-flags/feature-flag-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,iFAAiF;IACjF,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0FAA0F;IAC1F,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"feature-flag-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/feature-flags/feature-flag-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,iFAAiF;IACjF,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0FAA0F;IAC1F,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAyQlF,CAAC"}
|