@gate-forge/core 0.6.0 → 0.6.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.
package/dist/index.js CHANGED
@@ -168,6 +168,13 @@ export { CauseCodeSchema, CAUSE_NEXT_ACTIONS } from './schemas/verdict.js';
168
168
  * feature off (opt-in); agent edits never self-approve a disposition.
169
169
  */
170
170
  export { COVERAGE_OPERATIONS, CoverageOperationSchema, CoveragePolicySchema, CoverageTableSchema, CoverageDispositionSchema, } from './schemas/coverage-policy.js';
171
+ /**
172
+ * Staged-runtime configuration (plan 2026-09-21 witnessed pre-commit):
173
+ * the owner-reviewed `.gateforge/runtime.yml` — dependency preparation,
174
+ * sanctioned dependency reuse, and candidate-owned services with
175
+ * readiness probes. Security-sensitive: trusted-policy digest input.
176
+ */
177
+ export { RuntimeConfigSchema, RuntimeServiceSchema, RuntimeReadinessSchema, isNormalizedRepoRelativePath, SERVICE_PORT_PLACEHOLDER, SERVICE_URL_PLACEHOLDER, DEFAULT_PREPARE_TIMEOUT_SECONDS, DEFAULT_READY_TIMEOUT_SECONDS, } from './schemas/runtime-config.js';
171
178
  /**
172
179
  * Behavior policy / catalog / evidence (plan 2026-09-19): owner-approved
173
180
  * complete-behavior cases. Absence of the document preserves basic
@@ -308,10 +315,11 @@ export { ClassificationSignalSchema, signalId, SignalTargetSchema, SignalDimensi
308
315
  /**
309
316
  * ClassificationPolicy: the `classification-policy.yml` document —
310
317
  * scan roots, trusted internal entry-point categories, organization
311
- * internal rules (certificate inputs, never overrides), supported
312
- * declaration syntax, and volatile fields.
318
+ * internal rules (certificate inputs, never overrides), exact owner
319
+ * lifecycle rules (closed-world disables), supported declaration syntax,
320
+ * and volatile fields.
313
321
  */
314
- export { ClassificationPolicySchema, InternalEntryPointCategorySchema, InternalRuleSchema, InternalRuleMatchSchema, } from './schemas/classification-policy.js';
322
+ export { ClassificationPolicySchema, InternalEntryPointCategorySchema, InternalRuleSchema, InternalRuleMatchSchema, LifecycleRuleMatchSchema, LifecycleRuleSchema, LifecycleRulesSchema, LIFECYCLE_OPERATIONS, sortLifecycleRules, } from './schemas/classification-policy.js';
315
323
  /**
316
324
  * The deterministic conservative classifier (ADR 0003 D2):
317
325
  * `classifyResources()` resolves signals into effective classifications
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAElE;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;;;;;;;GAQG;AACH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;GAGG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD,sDAAsD;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qDAAqD;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,gEAAgE;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAQ9G;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQvF;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMrE;;;;GAIG;AACH,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,kBAAkB,GAEnB,MAAM,uBAAuB,CAAC;AAM/B;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMtE;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAM7E;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAMxG;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI3E;;;;;GAKG;AACH,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAStC;;;;;GAKG;AACH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AAIrC;;;;;GAKG;AACH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAc5B;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAI9D;;;;;;GAMG;AACH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAoCnC;;;GAGG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;GAMG;AACH,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B;2EAC2E;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAQvG;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAOnF,wEAAwE;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;GAIG;AACH,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE5F,8EAA8E;AAC9E,gEAAgE;AAChE,oEAAoE;AACpE,8EAA8E;AAE9E;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;;GAGG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAItD;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,oEAAoE;AACpE,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpI,oDAAoD;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAI/D,wEAAwE;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,8DAA8D;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,sEAAsE;AACtE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AASlF,6DAA6D;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,kEAAkE;AAClE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAM1F,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,8EAA8E;AAC9E,sEAAsE;AACtE,uDAAuD;AACvD,8EAA8E;AAE9E;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAIlM;;;;;;GAMG;AACH,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAY5C;;;;;GAKG;AACH,OAAO,EACL,KAAK,EACL,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,EAC7B,WAAW,EACX,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAe/B,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E,sEAAsE;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;GAGG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,iEAAiE;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,0EAA0E;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAIjE,4EAA4E;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE9E;;;;;GAKG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAU3D;;;;GAIG;AACH,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAM3B;;;;;;;GAOG;AACH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAIxG,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,wEAAwE;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,oBAAoB,GAKrB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/F;;;GAGG;AACH,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GAKtB,MAAM,oBAAoB,CAAC;AAE5B,uEAAuE;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,mEAAmE;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWlD,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI9F;;;;;;;GAOG;AACH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;GAOG;AACH,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAYvC;;;;;;GAMG;AACH,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/G;;;;;;GAMG;AACH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAarG,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAE9E;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElE,2EAA2E;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAM1D,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E,4EAA4E;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,kEAAkE;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qEAAqE;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,gEAAgE;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,0EAA0E;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,4EAA4E;AAC5E,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAG7F,wEAAwE;AACxE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACvF,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D;;;;;GAKG;AACH,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAElG,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAE9E;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,uEAAuE;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,8EAA8E;AAC9E,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAE9E;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI5E;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAItD;;;;;GAKG;AACH,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,OAAO,GACR,MAAM,oBAAoB,CAAC;AAI5B;;;;;GAKG;AACH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAW5B;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAY9C;;;;;GAKG;AACH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC"}
@@ -95,6 +95,8 @@ export declare const BlockingEntrySchema: z.ZodObject<{
95
95
  OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
96
96
  BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
97
97
  ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
98
+ RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
99
+ RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
98
100
  }>>>;
99
101
  nextAction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
102
  }, z.core.$strict>;
@@ -215,6 +217,8 @@ export declare const PolicyEvaluationResultSchema: z.ZodObject<{
215
217
  OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
216
218
  BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
217
219
  ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
220
+ RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
221
+ RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
218
222
  }>>>;
219
223
  nextAction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
220
224
  }, z.core.$strict>>;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/policy/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAsC,KAAK,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAG5G,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAmD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGzG,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAK1D;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,yDAAyD;AACzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsC5B,CAAC;AAEL,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED,yEAAyE;AACzE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAM9B,CAAC;AAEL,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,sEAAsE;AACtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAcrC,CAAC;AAEL,+CAA+C;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE;IACT,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC3D,GACA,OAAO,CAaT;AAED,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,QAAQ,EAAE,UAAU,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAmErF"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/policy/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAsC,KAAK,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAG5G,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAmD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGzG,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAK1D;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,yDAAyD;AACzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsC5B,CAAC;AAEL,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED,yEAAyE;AACzE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAM9B,CAAC;AAEL,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,sEAAsE;AACtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAcrC,CAAC;AAEL,+CAA+C;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE;IACT,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC3D,GACA,OAAO,CAaT;AAED,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,QAAQ,EAAE,UAAU,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAmErF"}
@@ -32,6 +32,46 @@ export declare const InternalRuleSchema: z.ZodObject<{
32
32
  }, z.core.$strict>;
33
33
  /** Inferred internal-rule shape. */
34
34
  export type InternalRule = z.infer<typeof InternalRuleSchema>;
35
+ /** Lifecycle operations an owner may explicitly disable for one resource. */
36
+ export declare const LIFECYCLE_OPERATIONS: readonly ["create", "read", "update", "delete"];
37
+ /** Union of owner lifecycle operation names. */
38
+ export type LifecycleOperation = (typeof LIFECYCLE_OPERATIONS)[number];
39
+ /** Exact resource match for an owner lifecycle rule. */
40
+ export declare const LifecycleRuleMatchSchema: z.ZodObject<{
41
+ resourceId: z.ZodString;
42
+ }, z.core.$strict>;
43
+ /** Inferred lifecycle-rule match shape. */
44
+ export type LifecycleRuleMatch = z.infer<typeof LifecycleRuleMatchSchema>;
45
+ /** One owner policy rule disabling selected operations for one exact resource. */
46
+ export declare const LifecycleRuleSchema: z.ZodObject<{
47
+ match: z.ZodObject<{
48
+ resourceId: z.ZodString;
49
+ }, z.core.$strict>;
50
+ disable: z.ZodArray<z.ZodEnum<{
51
+ create: "create";
52
+ read: "read";
53
+ update: "update";
54
+ delete: "delete";
55
+ }>>;
56
+ reason: z.ZodString;
57
+ }, z.core.$strict>;
58
+ /** Inferred lifecycle-rule shape. */
59
+ export type LifecycleRule = z.infer<typeof LifecycleRuleSchema>;
60
+ /** Lifecycle rules with duplicate exact identities rejected as ambiguous. */
61
+ export declare const LifecycleRulesSchema: z.ZodArray<z.ZodObject<{
62
+ match: z.ZodObject<{
63
+ resourceId: z.ZodString;
64
+ }, z.core.$strict>;
65
+ disable: z.ZodArray<z.ZodEnum<{
66
+ create: "create";
67
+ read: "read";
68
+ update: "update";
69
+ delete: "delete";
70
+ }>>;
71
+ reason: z.ZodString;
72
+ }, z.core.$strict>>;
73
+ /** Deterministic rule ordering for authority minting and explanations. */
74
+ export declare function sortLifecycleRules(rules: readonly LifecycleRule[]): LifecycleRule[];
35
75
  /**
36
76
  * One coverage requirement (red-team round 3): the named detector must
37
77
  * report examining every applicable file for a scan to count as COMPLETE.
@@ -70,6 +110,18 @@ export declare const ClassificationPolicySchema: z.ZodObject<{
70
110
  }, z.core.$strict>;
71
111
  reason: z.ZodString;
72
112
  }, z.core.$strict>>;
113
+ lifecycleRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
114
+ match: z.ZodObject<{
115
+ resourceId: z.ZodString;
116
+ }, z.core.$strict>;
117
+ disable: z.ZodArray<z.ZodEnum<{
118
+ create: "create";
119
+ read: "read";
120
+ update: "update";
121
+ delete: "delete";
122
+ }>>;
123
+ reason: z.ZodString;
124
+ }, z.core.$strict>>>;
73
125
  coverage: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
126
  capability: z.ZodString;
75
127
  detector: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"classification-policy.d.ts","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,wEAAwE;AACxE,eAAO,MAAM,gCAAgC;;;;kBAmBlC,CAAC;AAEZ,oDAAoD;AACpD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,oEAAoE;AACpE,eAAO,MAAM,uBAAuB;;;kBAUhC,CAAC;AAEL,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qFAAqF;AACrF,eAAO,MAAM,kBAAkB;;;;;;kBAOpB,CAAC;AAEZ,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAyBpB,CAAC;AAEZ,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;kBAmC5B,CAAC;AAEZ,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"classification-policy.d.ts","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wEAAwE;AACxE,eAAO,MAAM,gCAAgC;;;;kBAmBlC,CAAC;AAEZ,oDAAoD;AACpD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,oEAAoE;AACpE,eAAO,MAAM,uBAAuB;;;kBAUhC,CAAC;AAEL,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qFAAqF;AACrF,eAAO,MAAM,kBAAkB;;;;;;kBAOpB,CAAC;AAEZ,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,iDAAkD,CAAC;AAEpF,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiBvE,wDAAwD;AACxD,eAAO,MAAM,wBAAwB;;kBAK1B,CAAC;AAEZ,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,kFAAkF;AAClF,eAAO,MAAM,mBAAmB;;;;;;;;;;;kBAkCrB,CAAC;AAEZ,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;mBAoB7B,CAAC;AAEL,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAQnF;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAyBpB,CAAC;AAEZ,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqC5B,CAAC;AAEZ,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * NEVER proves internality, ADR 0003 D2 exposure rule 3).
8
8
  */
9
9
  import { z } from 'zod';
10
+ import { compareStrings } from '../graph/util.js';
10
11
  import { SchemaVersionField } from './common.js';
11
12
  /** One trusted internal entry-point category (worker, migration, …). */
12
13
  export const InternalEntryPointCategorySchema = z
@@ -50,6 +51,96 @@ export const InternalRuleSchema = z
50
51
  reason: z.string().min(1),
51
52
  })
52
53
  .strict();
54
+ /** Lifecycle operations an owner may explicitly disable for one resource. */
55
+ export const LIFECYCLE_OPERATIONS = ['create', 'read', 'update', 'delete'];
56
+ /** Exact plane-qualified resource identity used by lifecycle policy rules. */
57
+ const ExactResourceIdSchema = z
58
+ .string()
59
+ .min(1, 'resourceId must not be empty')
60
+ .refine((value) => value === value.trim(), {
61
+ message: 'resourceId must not have leading or trailing whitespace',
62
+ })
63
+ .regex(/^(?:tenant|master|global)\.[^.:/\\\s]+$/, "resourceId must be an exact '<plane>.<resource>' identity without wildcards, paths, or delimiters")
64
+ .refine((value) => !/[?*\[\]{}]/.test(value), {
65
+ message: 'resourceId must not contain wildcard or pattern characters',
66
+ });
67
+ /** Exact resource match for an owner lifecycle rule. */
68
+ export const LifecycleRuleMatchSchema = z
69
+ .object({
70
+ /** Plane-qualified resource id; globs and bare names are unsafe here. */
71
+ resourceId: ExactResourceIdSchema,
72
+ })
73
+ .strict();
74
+ /** One owner policy rule disabling selected operations for one exact resource. */
75
+ export const LifecycleRuleSchema = z
76
+ .object({
77
+ /** Exact resource identity this rule applies to. */
78
+ match: LifecycleRuleMatchSchema,
79
+ /** Operations that are structurally unavailable for the matched resource. */
80
+ disable: z
81
+ .array(z.enum(LIFECYCLE_OPERATIONS))
82
+ .min(1, 'disable must list at least one lifecycle operation')
83
+ .superRefine((operations, ctx) => {
84
+ const seen = new Set();
85
+ for (let index = 0; index < operations.length; index += 1) {
86
+ const operation = operations[index];
87
+ if (operation === undefined)
88
+ continue;
89
+ if (seen.has(operation)) {
90
+ ctx.addIssue({
91
+ code: 'custom',
92
+ path: [index],
93
+ message: `duplicate disabled lifecycle operation '${operation}'`,
94
+ });
95
+ }
96
+ seen.add(operation);
97
+ }
98
+ }),
99
+ /** Owner explanation rendered in classifier traces and diagnostics. */
100
+ reason: z
101
+ .string()
102
+ .min(1, 'reason must not be empty')
103
+ .refine((value) => value === value.trim(), {
104
+ message: 'reason must not have leading or trailing whitespace',
105
+ })
106
+ .refine((value) => !/[\u0000-\u001f\u007f]/.test(value), {
107
+ message: 'reason must not contain control characters',
108
+ }),
109
+ })
110
+ .strict();
111
+ /** Lifecycle rules with duplicate exact identities rejected as ambiguous. */
112
+ export const LifecycleRulesSchema = z
113
+ .array(LifecycleRuleSchema)
114
+ .superRefine((rules, ctx) => {
115
+ const seen = new Map();
116
+ for (let index = 0; index < rules.length; index += 1) {
117
+ const resourceId = rules[index]?.match.resourceId;
118
+ if (resourceId === undefined)
119
+ continue;
120
+ const first = seen.get(resourceId);
121
+ if (first !== undefined) {
122
+ ctx.addIssue({
123
+ code: 'custom',
124
+ path: [index, 'match', 'resourceId'],
125
+ message: `duplicate lifecycle rule for '${resourceId}' (already declared at index ${first}); ` +
126
+ 'one exact identity must have one unambiguous rule',
127
+ });
128
+ }
129
+ else {
130
+ seen.set(resourceId, index);
131
+ }
132
+ }
133
+ });
134
+ /** Deterministic rule ordering for authority minting and explanations. */
135
+ export function sortLifecycleRules(rules) {
136
+ const order = new Map(LIFECYCLE_OPERATIONS.map((operation, index) => [operation, index]));
137
+ return [...rules]
138
+ .map((rule) => ({
139
+ ...rule,
140
+ disable: [...rule.disable].sort((a, b) => (order.get(a) ?? 0) - (order.get(b) ?? 0)),
141
+ }))
142
+ .sort((a, b) => compareStrings(a.match.resourceId, b.match.resourceId));
143
+ }
53
144
  /**
54
145
  * One coverage requirement (red-team round 3): the named detector must
55
146
  * report examining every applicable file for a scan to count as COMPLETE.
@@ -105,6 +196,8 @@ export const ClassificationPolicySchema = z
105
196
  trustedInternalEntryPoints: z.array(InternalEntryPointCategorySchema),
106
197
  /** Organization internal rules — certificate inputs, never overrides. */
107
198
  internalRules: z.array(InternalRuleSchema),
199
+ /** Exact owner lifecycle disables; suppressive effects require scan proof. */
200
+ lifecycleRules: LifecycleRulesSchema.optional(),
108
201
  /**
109
202
  * Coverage requirements for COMPLETE-scan proofs (ADR 0003 D4). A
110
203
  * closed-world attestation holds only when every rule's detector is
@@ -1 +1 @@
1
- {"version":3,"file":"classification-policy.js","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classification-policy.js","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Staged-runtime configuration schema (plan 2026-09-21 witnessed
3
+ * pre-commit): the OWNER-REVIEWED document describing how a materialized
4
+ * staged candidate becomes a runnable runtime — dependency preparation,
5
+ * dependency reuse, and candidate-owned application/database/worker
6
+ * services with readiness probes. The document is security-sensitive:
7
+ * it participates in the trusted policy digest and the authenticated
8
+ * input snapshot, so a candidate that edits its own runtime commands
9
+ * cannot approve the edit in the same commit (a provisioned pin rejects
10
+ * the self-approved revision before any test runs).
11
+ */
12
+ import { z } from 'zod';
13
+ /**
14
+ * Checks that a runtime reuse path is a canonical repository-relative POSIX
15
+ * path. Backslashes are rejected so the same document has one meaning on
16
+ * POSIX and Windows hosts.
17
+ *
18
+ * Args:
19
+ * value: the configured reuse path.
20
+ *
21
+ * Returns:
22
+ * boolean: true when the path has no traversal, empty, or dot segments.
23
+ */
24
+ export declare function isNormalizedRepoRelativePath(value: string): boolean;
25
+ /** Placeholder referencing a supervisor-assigned service port. */
26
+ export declare const SERVICE_PORT_PLACEHOLDER = "${service:<id>:port}";
27
+ /** Placeholder referencing a supervisor-assigned service base URL. */
28
+ export declare const SERVICE_URL_PLACEHOLDER = "${service:<id>:url}";
29
+ /** Default budget for one preparation command, in seconds. */
30
+ export declare const DEFAULT_PREPARE_TIMEOUT_SECONDS = 600;
31
+ /** Default budget for one service readiness probe, in seconds. */
32
+ export declare const DEFAULT_READY_TIMEOUT_SECONDS = 60;
33
+ /**
34
+ * One service readiness probe: a log line matching `log` (regex source
35
+ * over the captured stdout+stderr) OR an `http` GET returning 2xx.
36
+ * Exactly one kind must be declared.
37
+ */
38
+ export declare const RuntimeReadinessSchema: z.ZodObject<{
39
+ log: z.ZodOptional<z.ZodString>;
40
+ http: z.ZodOptional<z.ZodString>;
41
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
42
+ }, z.core.$strict>;
43
+ /** Inferred readiness shape. */
44
+ export type RuntimeReadiness = z.infer<typeof RuntimeReadinessSchema>;
45
+ /**
46
+ * One candidate-owned service (application, database, worker). The
47
+ * supervisor assigns a free loopback port per service and exposes it to
48
+ * commands through `${service:<id>:port}` / `${service:<id>:url}`
49
+ * placeholders (substituted into `command`, `env` values, and readiness
50
+ * URLs BEFORE spawn). `attested` fronts the service with the gate's
51
+ * loopback attestation proxy and REQUIRES `fingerprint` — the
52
+ * environment marker the proxy stamps and reviewed adapters must
53
+ * declare (GF-13). `target` marks the attested service whose proxy URL
54
+ * becomes the run's attested target (at most one per document).
55
+ */
56
+ export declare const RuntimeServiceSchema: z.ZodObject<{
57
+ id: z.ZodString;
58
+ command: z.ZodString;
59
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
60
+ attested: z.ZodOptional<z.ZodBoolean>;
61
+ fingerprint: z.ZodOptional<z.ZodString>;
62
+ target: z.ZodOptional<z.ZodBoolean>;
63
+ ready: z.ZodObject<{
64
+ log: z.ZodOptional<z.ZodString>;
65
+ http: z.ZodOptional<z.ZodString>;
66
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
67
+ }, z.core.$strict>;
68
+ }, z.core.$strict>;
69
+ /** Inferred service shape. */
70
+ export type RuntimeService = z.infer<typeof RuntimeServiceSchema>;
71
+ /**
72
+ * The `.gateforge/runtime.yml` document. ABSENT means the owner has not
73
+ * declared a staged runtime: pre-commit then runs with NO dependency
74
+ * bridge and NO services (fail closed — discovery needing installed
75
+ * dependencies blocks honestly instead of silently reusing the
76
+ * worktree's environment).
77
+ */
78
+ export declare const RuntimeConfigSchema: z.ZodObject<{
79
+ schemaVersion: z.ZodLiteral<1>;
80
+ prepare: z.ZodOptional<z.ZodObject<{
81
+ command: z.ZodOptional<z.ZodString>;
82
+ reuse: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
84
+ }, z.core.$strict>>;
85
+ services: z.ZodOptional<z.ZodArray<z.ZodObject<{
86
+ id: z.ZodString;
87
+ command: z.ZodString;
88
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
89
+ attested: z.ZodOptional<z.ZodBoolean>;
90
+ fingerprint: z.ZodOptional<z.ZodString>;
91
+ target: z.ZodOptional<z.ZodBoolean>;
92
+ ready: z.ZodObject<{
93
+ log: z.ZodOptional<z.ZodString>;
94
+ http: z.ZodOptional<z.ZodString>;
95
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
96
+ }, z.core.$strict>;
97
+ }, z.core.$strict>>>;
98
+ envAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
99
+ executionTimeoutSeconds: z.ZodOptional<z.ZodNumber>;
100
+ }, z.core.$strict>;
101
+ /** Inferred runtime document shape. */
102
+ export type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;
103
+ //# sourceMappingURL=runtime-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../../src/schemas/runtime-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMnE;AAUD,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,8DAA8D;AAC9D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,kEAAkE;AAClE,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;kBAgB/B,CAAC;AAEL,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;kBA0B7B,CAAC;AAEL,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;kBAiD5B,CAAC;AAEL,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Staged-runtime configuration schema (plan 2026-09-21 witnessed
3
+ * pre-commit): the OWNER-REVIEWED document describing how a materialized
4
+ * staged candidate becomes a runnable runtime — dependency preparation,
5
+ * dependency reuse, and candidate-owned application/database/worker
6
+ * services with readiness probes. The document is security-sensitive:
7
+ * it participates in the trusted policy digest and the authenticated
8
+ * input snapshot, so a candidate that edits its own runtime commands
9
+ * cannot approve the edit in the same commit (a provisioned pin rejects
10
+ * the self-approved revision before any test runs).
11
+ */
12
+ import { z } from 'zod';
13
+ import { SchemaVersionField } from './common.js';
14
+ /**
15
+ * Checks that a runtime reuse path is a canonical repository-relative POSIX
16
+ * path. Backslashes are rejected so the same document has one meaning on
17
+ * POSIX and Windows hosts.
18
+ *
19
+ * Args:
20
+ * value: the configured reuse path.
21
+ *
22
+ * Returns:
23
+ * boolean: true when the path has no traversal, empty, or dot segments.
24
+ */
25
+ export function isNormalizedRepoRelativePath(value) {
26
+ if (value.length === 0 || value.includes('\\') || value.includes('\0'))
27
+ return false;
28
+ if (value.startsWith('/') || /^[A-Za-z]:/.test(value))
29
+ return false;
30
+ const segments = value.split('/');
31
+ if (segments.some((segment) => segment.length === 0 || segment === '.' || segment === '..'))
32
+ return false;
33
+ return segments.join('/') === value;
34
+ }
35
+ /** Schema for one dependency directory explicitly reused by a staged run. */
36
+ const RuntimeReusePathSchema = z
37
+ .string()
38
+ .min(1)
39
+ .refine(isNormalizedRepoRelativePath, {
40
+ message: 'reuse path must be a normalized repository-relative path without traversal',
41
+ });
42
+ /** Placeholder referencing a supervisor-assigned service port. */
43
+ export const SERVICE_PORT_PLACEHOLDER = '${service:<id>:port}';
44
+ /** Placeholder referencing a supervisor-assigned service base URL. */
45
+ export const SERVICE_URL_PLACEHOLDER = '${service:<id>:url}';
46
+ /** Default budget for one preparation command, in seconds. */
47
+ export const DEFAULT_PREPARE_TIMEOUT_SECONDS = 600;
48
+ /** Default budget for one service readiness probe, in seconds. */
49
+ export const DEFAULT_READY_TIMEOUT_SECONDS = 60;
50
+ /**
51
+ * One service readiness probe: a log line matching `log` (regex source
52
+ * over the captured stdout+stderr) OR an `http` GET returning 2xx.
53
+ * Exactly one kind must be declared.
54
+ */
55
+ export const RuntimeReadinessSchema = z
56
+ .object({
57
+ log: z.string().min(1).optional(),
58
+ http: z.string().min(1).optional(),
59
+ timeoutSeconds: z.number().int().min(1).max(3600).optional(),
60
+ })
61
+ .strict()
62
+ .superRefine((ready, ctx) => {
63
+ const kinds = [ready.log !== undefined, ready.http !== undefined].filter(Boolean).length;
64
+ if (kinds !== 1) {
65
+ ctx.addIssue({
66
+ code: 'custom',
67
+ path: ['log'],
68
+ message: "readiness requires exactly one of 'log' (regex source) or 'http' (2xx GET url)",
69
+ });
70
+ }
71
+ });
72
+ /**
73
+ * One candidate-owned service (application, database, worker). The
74
+ * supervisor assigns a free loopback port per service and exposes it to
75
+ * commands through `${service:<id>:port}` / `${service:<id>:url}`
76
+ * placeholders (substituted into `command`, `env` values, and readiness
77
+ * URLs BEFORE spawn). `attested` fronts the service with the gate's
78
+ * loopback attestation proxy and REQUIRES `fingerprint` — the
79
+ * environment marker the proxy stamps and reviewed adapters must
80
+ * declare (GF-13). `target` marks the attested service whose proxy URL
81
+ * becomes the run's attested target (at most one per document).
82
+ */
83
+ export const RuntimeServiceSchema = z
84
+ .object({
85
+ id: z.string().regex(/^[a-z][a-z0-9-]*$/, 'service id must be lowercase kebab-case'),
86
+ command: z.string().min(1),
87
+ env: z.record(z.string(), z.string()).optional(),
88
+ attested: z.boolean().optional(),
89
+ fingerprint: z.string().min(1).optional(),
90
+ target: z.boolean().optional(),
91
+ ready: RuntimeReadinessSchema,
92
+ })
93
+ .strict()
94
+ .superRefine((service, ctx) => {
95
+ if (service.attested === true && service.fingerprint === undefined) {
96
+ ctx.addIssue({
97
+ code: 'custom',
98
+ path: ['fingerprint'],
99
+ message: `attested service '${service.id}' requires 'fingerprint' (the GF-13 environment marker the proxy stamps)`,
100
+ });
101
+ }
102
+ if (service.target === true && service.attested !== true) {
103
+ ctx.addIssue({
104
+ code: 'custom',
105
+ path: ['target'],
106
+ message: `service '${service.id}' marks target: true — only an attested service can be the attested target`,
107
+ });
108
+ }
109
+ });
110
+ /**
111
+ * The `.gateforge/runtime.yml` document. ABSENT means the owner has not
112
+ * declared a staged runtime: pre-commit then runs with NO dependency
113
+ * bridge and NO services (fail closed — discovery needing installed
114
+ * dependencies blocks honestly instead of silently reusing the
115
+ * worktree's environment).
116
+ */
117
+ export const RuntimeConfigSchema = z
118
+ .object({
119
+ schemaVersion: SchemaVersionField,
120
+ /** Preparation executed INSIDE the materialized candidate checkout. */
121
+ prepare: z
122
+ .object({
123
+ /** Command to run in the checkout (package-manager install, build). */
124
+ command: z.string().min(1).optional(),
125
+ /**
126
+ * Repo-relative dependency directories explicitly allowed to be
127
+ * reused from the user repository (linked, never copied as
128
+ * candidate source). The ONLY sanctioned dependency bridge.
129
+ */
130
+ reuse: z.array(RuntimeReusePathSchema).optional(),
131
+ timeoutSeconds: z.number().int().min(1).max(3600).optional(),
132
+ })
133
+ .strict()
134
+ .optional(),
135
+ /** Candidate-owned services to start, probe, and clean up. */
136
+ services: z.array(RuntimeServiceSchema).optional(),
137
+ /** Operator environment variable names allowed through to commands/services. */
138
+ envAllowlist: z.array(z.string().min(1)).optional(),
139
+ /** Whole-run execution budget handed to the supervised gate. */
140
+ executionTimeoutSeconds: z.number().int().min(1).max(3600).optional(),
141
+ })
142
+ .strict()
143
+ .superRefine((runtime, ctx) => {
144
+ const services = runtime.services ?? [];
145
+ const seen = new Set();
146
+ for (let index = 0; index < services.length; index += 1) {
147
+ const service = services[index];
148
+ if (service === undefined)
149
+ continue;
150
+ if (seen.has(service.id)) {
151
+ ctx.addIssue({
152
+ code: 'custom',
153
+ path: ['services', index, 'id'],
154
+ message: `duplicate service id '${service.id}' — service addressing must be unambiguous`,
155
+ });
156
+ }
157
+ seen.add(service.id);
158
+ }
159
+ const targets = services.filter((service) => service.target === true);
160
+ if (targets.length > 1) {
161
+ ctx.addIssue({
162
+ code: 'custom',
163
+ path: ['services'],
164
+ message: `at most one service may mark target: true (got ${String(targets.length)})`,
165
+ });
166
+ }
167
+ });
168
+ //# sourceMappingURL=runtime-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../src/schemas/runtime-config.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,8 @@ export declare const CauseCodeSchema: z.ZodEnum<{
70
70
  OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
71
71
  BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
72
72
  ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
73
+ RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
74
+ RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
73
75
  }>;
74
76
  /** Inferred cause-code union. */
75
77
  export type CauseCode = z.infer<typeof CauseCodeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;EAQxB,CAAC;AAEH,8BAA8B;AAC9B,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,iEAAiE;AACjE,eAAO,MAAM,sBAAsB;;;;;;;;kBASxB,CAAC;AAEZ,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B1B,CAAC;AAEH,iCAAiC;AACjC,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CA2CjE,CAAC"}
1
+ {"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;EAQxB,CAAC;AAEH,8BAA8B;AAC9B,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,iEAAiE;AACjE,eAAO,MAAM,sBAAsB;;;;;;;;kBASxB,CAAC;AAEZ,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC1B,CAAC;AAEH,iCAAiC;AACjC,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAiDjE,CAAC"}
@@ -68,6 +68,8 @@ export const CauseCodeSchema = z.enum([
68
68
  'OBSERVATION_SCOPE_INCOMPLETE',
69
69
  'BEHAVIOR_UNEXPECTED_EFFECT',
70
70
  'ENFORCEMENT_BOUNDARY_UNVERIFIED',
71
+ 'RUNTIME_PREPARATION_FAILED',
72
+ 'RUNTIME_READINESS_FAILED',
71
73
  ]);
72
74
  /**
73
75
  * The plan §5.4 next action per cause code. Text, JSON, and SARIF
@@ -109,5 +111,9 @@ export const CAUSE_NEXT_ACTIONS = Object.freeze({
109
111
  OBSERVATION_SCOPE_INCOMPLETE: 'Supply a working trusted observer or fix collection',
110
112
  BEHAVIOR_UNEXPECTED_EFFECT: 'Fix application side effect',
111
113
  ENFORCEMENT_BOUNDARY_UNVERIFIED: 'Owner provisions/verifies runtime',
114
+ RUNTIME_PREPARATION_FAILED: 'Repair the tracked `runtime.prepare` command (its failure log is under run state `runtime/`) — ' +
115
+ 'the candidate runtime must build or install before the gate can execute',
116
+ RUNTIME_READINESS_FAILED: 'Repair the tracked `runtime.services` command or readiness probe — the candidate ' +
117
+ 'runtime must become ready before evidence is trusted',
112
118
  });
113
119
  //# sourceMappingURL=verdict.js.map