@agent-teams/engineering-foundation 1.1.0 → 1.2.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.
Files changed (93) hide show
  1. package/README.md +9 -0
  2. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts.map +1 -1
  3. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js +6 -6
  4. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js.map +1 -1
  5. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-baseline-input.d.ts +1 -0
  6. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-baseline-input.d.ts.map +1 -1
  7. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-baseline-input.js +6 -0
  8. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-baseline-input.js.map +1 -1
  9. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.d.ts +1 -1
  10. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.d.ts.map +1 -1
  11. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.js +3 -2
  12. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.js.map +1 -1
  13. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.d.ts.map +1 -1
  14. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.js +17 -13
  15. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.js.map +1 -1
  16. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.d.ts +1 -0
  17. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.d.ts.map +1 -1
  18. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.js +22 -7
  19. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.js.map +1 -1
  20. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.d.ts +8 -0
  21. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.d.ts.map +1 -0
  22. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.js +135 -0
  23. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.js.map +1 -0
  24. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts.map +1 -1
  25. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js +1 -0
  26. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js.map +1 -1
  27. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.d.ts +4 -0
  28. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.d.ts.map +1 -1
  29. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.js +70 -34
  30. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.js.map +1 -1
  31. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-topology-inspector.d.ts.map +1 -1
  32. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-topology-inspector.js +12 -4
  33. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-topology-inspector.js.map +1 -1
  34. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.d.ts +20 -0
  35. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.d.ts.map +1 -0
  36. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.js +164 -0
  37. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.js.map +1 -0
  38. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.d.ts +11 -4
  39. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.d.ts.map +1 -1
  40. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.js +38 -67
  41. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.js.map +1 -1
  42. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.d.ts +1 -0
  43. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.d.ts.map +1 -1
  44. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.js +4 -1
  45. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.js.map +1 -1
  46. package/dist/capabilities/source-dependencies/application/model/source-workspace-topology.d.ts +1 -0
  47. package/dist/capabilities/source-dependencies/application/model/source-workspace-topology.d.ts.map +1 -1
  48. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +5 -1
  49. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -1
  50. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js +1 -1
  51. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-workspace-coverage.d.ts.map +1 -1
  52. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-workspace-coverage.js +19 -14
  53. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-workspace-coverage.js.map +1 -1
  54. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.d.ts +5 -0
  55. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.d.ts.map +1 -0
  56. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.js +59 -0
  57. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.js.map +1 -0
  58. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.d.ts +11 -0
  59. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.d.ts.map +1 -0
  60. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.js +27 -0
  61. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.js.map +1 -0
  62. package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.d.ts +1 -0
  63. package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.d.ts.map +1 -1
  64. package/dist/capabilities/source-dependencies/application/ports/source-workspace-topology-inspector.d.ts +3 -0
  65. package/dist/capabilities/source-dependencies/application/ports/source-workspace-topology-inspector.d.ts.map +1 -1
  66. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -1
  67. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +17 -8
  68. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -1
  69. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts +1 -0
  70. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts.map +1 -1
  71. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js +1 -0
  72. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js.map +1 -1
  73. package/dist/capabilities/source-dependencies/contract/config.d.ts +1 -1
  74. package/dist/capabilities/source-dependencies/contract/config.js +1 -1
  75. package/dist/capabilities/source-dependencies/module.d.ts.map +1 -1
  76. package/dist/capabilities/source-dependencies/module.js +1 -1
  77. package/dist/capabilities/source-dependencies/module.js.map +1 -1
  78. package/dist/capabilities/source-dependencies/schemas.d.ts +1 -1
  79. package/dist/capabilities/source-dependencies/schemas.d.ts.map +1 -1
  80. package/dist/capabilities/source-dependencies/schemas.js +2 -1
  81. package/dist/capabilities/source-dependencies/schemas.js.map +1 -1
  82. package/dist/schema-catalog.d.ts +1 -1
  83. package/dist/schema-catalog.d.ts.map +1 -1
  84. package/dist/schema-ids.d.ts +1 -1
  85. package/dist/schema-ids.d.ts.map +1 -1
  86. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.d.ts.map +1 -1
  87. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js +109 -3
  88. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js.map +1 -1
  89. package/dist/transaction-coordination/application/foundation-transaction-coordinator.d.ts.map +1 -1
  90. package/dist/transaction-coordination/application/foundation-transaction-coordinator.js +20 -0
  91. package/dist/transaction-coordination/application/foundation-transaction-coordinator.js.map +1 -1
  92. package/package.json +2 -1
  93. package/schemas/architecture-source-dependencies/v3.schema.json +195 -0
@@ -1,4 +1,4 @@
1
- declare const FOUNDATION_SCHEMA_IDS: readonly ["architecture-source-dependencies/v1", "architecture-source-dependencies/v2", "contract-json-schema-release-baseline/v1", "contract-json-schema-releases/v1", "contract-protobuf-breaking-qualification/v1", "contract-protobuf-evolution-baseline/v1", "contract-protobuf-evolution/v1", "documentation-local-references/v1", "foundation-command-error/v1", "foundation-config/v1", "foundation-check-report/v1", "foundation-transaction-envelope/v2", "governance-architecture-decision-baseline/v1", "governance-architecture-decisions/v1", "package-public-api-baseline/v1", "package-public-api-compatibility/v1", "quality-executable-specification-catalog/v1", "quality-executable-specifications/v1", "quality-gate-run-report/v1", "quality-gate-runner/v1", "quality-suppression-governance/v1", "repository-agent-workflow/v1", "repository-security-baseline/v1", "scaffold-authority-evidence/v1", "scaffold-intent/v1", "scaffold-plan/v1", "scaffold-receipt/v1", "scaffold-recovery-journal/v1", "scaffold-target-catalog/v1", "scaffolding-config/v1", "workspace-dependency-declarations/v1"], firstSchemaId: "architecture-source-dependencies/v1" | "architecture-source-dependencies/v2" | "contract-json-schema-release-baseline/v1" | "contract-json-schema-releases/v1" | "contract-protobuf-breaking-qualification/v1" | "contract-protobuf-evolution-baseline/v1" | "contract-protobuf-evolution/v1" | "documentation-local-references/v1" | "foundation-check-report/v1" | "foundation-command-error/v1" | "foundation-config/v1" | "foundation-transaction-envelope/v2" | "governance-architecture-decision-baseline/v1" | "governance-architecture-decisions/v1" | "package-public-api-baseline/v1" | "package-public-api-compatibility/v1" | "quality-executable-specification-catalog/v1" | "quality-executable-specifications/v1" | "quality-gate-run-report/v1" | "quality-gate-runner/v1" | "quality-suppression-governance/v1" | "repository-agent-workflow/v1" | "repository-security-baseline/v1" | "scaffold-authority-evidence/v1" | "scaffold-intent/v1" | "scaffold-plan/v1" | "scaffold-receipt/v1" | "scaffold-recovery-journal/v1" | "scaffold-target-catalog/v1" | "scaffolding-config/v1" | "workspace-dependency-declarations/v1";
1
+ declare const FOUNDATION_SCHEMA_IDS: readonly ["architecture-source-dependencies/v1", "architecture-source-dependencies/v2", "architecture-source-dependencies/v3", "contract-json-schema-release-baseline/v1", "contract-json-schema-releases/v1", "contract-protobuf-breaking-qualification/v1", "contract-protobuf-evolution-baseline/v1", "contract-protobuf-evolution/v1", "documentation-local-references/v1", "foundation-command-error/v1", "foundation-config/v1", "foundation-check-report/v1", "foundation-transaction-envelope/v2", "governance-architecture-decision-baseline/v1", "governance-architecture-decisions/v1", "package-public-api-baseline/v1", "package-public-api-compatibility/v1", "quality-executable-specification-catalog/v1", "quality-executable-specifications/v1", "quality-gate-run-report/v1", "quality-gate-runner/v1", "quality-suppression-governance/v1", "repository-agent-workflow/v1", "repository-security-baseline/v1", "scaffold-authority-evidence/v1", "scaffold-intent/v1", "scaffold-plan/v1", "scaffold-receipt/v1", "scaffold-recovery-journal/v1", "scaffold-target-catalog/v1", "scaffolding-config/v1", "workspace-dependency-declarations/v1"], firstSchemaId: "architecture-source-dependencies/v1" | "architecture-source-dependencies/v2" | "architecture-source-dependencies/v3" | "contract-json-schema-release-baseline/v1" | "contract-json-schema-releases/v1" | "contract-protobuf-breaking-qualification/v1" | "contract-protobuf-evolution-baseline/v1" | "contract-protobuf-evolution/v1" | "documentation-local-references/v1" | "foundation-check-report/v1" | "foundation-command-error/v1" | "foundation-config/v1" | "foundation-transaction-envelope/v2" | "governance-architecture-decision-baseline/v1" | "governance-architecture-decisions/v1" | "package-public-api-baseline/v1" | "package-public-api-compatibility/v1" | "quality-executable-specification-catalog/v1" | "quality-executable-specifications/v1" | "quality-gate-run-report/v1" | "quality-gate-runner/v1" | "quality-suppression-governance/v1" | "repository-agent-workflow/v1" | "repository-security-baseline/v1" | "scaffold-authority-evidence/v1" | "scaffold-intent/v1" | "scaffold-plan/v1" | "scaffold-receipt/v1" | "scaffold-recovery-journal/v1" | "scaffold-target-catalog/v1" | "scaffolding-config/v1" | "workspace-dependency-declarations/v1";
2
2
  export { FOUNDATION_SCHEMA_IDS };
3
3
  export type FoundationSchemaId = typeof firstSchemaId;
4
4
  //# sourceMappingURL=schema-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-ids.d.ts","sourceRoot":"","sources":["../src/schema-ids.ts"],"names":[],"mappings":"AAoBA,QAAA,MAAmB,qBAAqB,ikCAAE,aAAa,klCAkBrD,CAAC;AAEH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC"}
1
+ {"version":3,"file":"schema-ids.d.ts","sourceRoot":"","sources":["../src/schema-ids.ts"],"names":[],"mappings":"AAoBA,QAAA,MAAmB,qBAAqB,wmCAAE,aAAa,0nCAkBrD,CAAC;AAEH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAAG,OAAO,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-foundation-transaction-slot.d.ts","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,mCAAmC,EACpC,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AAyKpH,qBAAa,6BAA8B,YAAW,yBAAyB;;IAM7E,YAAY,OAAO,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACtD,EASA;IA6DK,OAAO,IAAI,OAAO,CAAC,mCAAmC,CAAC,CAY5D;CACF"}
1
+ {"version":3,"file":"node-foundation-transaction-slot.d.ts","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,mCAAmC,EACpC,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AA0PpH,qBAAa,6BAA8B,YAAW,yBAAyB;;IAM7E,YAAY,OAAO,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACtD,EASA;IA6DK,OAAO,IAAI,OAAO,CAAC,mCAAmC,CAAC,CAmC5D;CACF"}
@@ -1,7 +1,7 @@
1
- import { opendir } from "node:fs/promises";
2
- import { join } from "node:path";
1
+ import { lstat, opendir, realpath } from "node:fs/promises";
2
+ import { dirname, join } from "node:path";
3
3
  import { TextDecoder } from "node:util";
4
- import { FOUNDATION_LINK_STATE_FILE, FOUNDATION_REGISTRY_BACKUP, FOUNDATION_TRANSACTION_FILE, KNOWN_FILE_TRANSACTION_TEMPORARY_FILE, LOCAL_STATE_DIRECTORY } from "../../application/model/foundation-transaction-identity.js";
4
+ import { FOUNDATION_LINK_STATE_FILE, FOUNDATION_REGISTRY_BACKUP, FOUNDATION_TRANSACTION_FILE, KNOWN_FILE_TRANSACTION_TEMPORARY_FILE, LOCAL_STATE_DIRECTORY, LOCAL_OPERATION_LOCK } from "../../application/model/foundation-transaction-identity.js";
5
5
  import { parseStrictJson } from "@agent-teams/repository-mutation/serialization";
6
6
  import { readBoundedRegularFile } from "@agent-teams/repository-mutation/node";
7
7
  import { portableRepositoryPathIdentity } from "@agent-teams/repository-mutation";
@@ -9,6 +9,7 @@ import { inspectFoundationTransitionEvidence } from "./foundation-transition-evi
9
9
  const maximumTransactionBytes = 32 * 1024 * 1024;
10
10
  const maximumLinkStateBytes = 64 * 1024;
11
11
  const maximumStateDirectoryEntries = 1024;
12
+ const maximumOperationLockBytes = 64 * 1024;
12
13
  const strictUtf8 = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
13
14
  function isMissing(error) {
14
15
  return (error instanceof Error &&
@@ -18,6 +19,88 @@ function isMissing(error) {
18
19
  function isRecord(value) {
19
20
  return typeof value === "object" && value !== null && !Array.isArray(value);
20
21
  }
22
+ async function hasUnverifiableOperationLockEntries(stateDirectory) {
23
+ const directory = await opendir(stateDirectory);
24
+ try {
25
+ let count = 0;
26
+ for (;;) {
27
+ const entry = await directory.read();
28
+ if (entry === null) {
29
+ break;
30
+ }
31
+ count += 1;
32
+ if (count > maximumStateDirectoryEntries ||
33
+ (entry.name !== LOCAL_OPERATION_LOCK &&
34
+ portableRepositoryPathIdentity(entry.name) === portableRepositoryPathIdentity(LOCAL_OPERATION_LOCK))) {
35
+ return true;
36
+ }
37
+ }
38
+ }
39
+ finally {
40
+ await directory.close();
41
+ }
42
+ return false;
43
+ }
44
+ function stateDirectoryObservationChanged(before, after) {
45
+ return before.dev !== after.dev || before.ino !== after.ino ||
46
+ before.birthtimeNs !== after.birthtimeNs || before.ctimeNs !== after.ctimeNs ||
47
+ !after.isDirectory() || after.isSymbolicLink();
48
+ }
49
+ function operationLockObservationChanged(first, last) {
50
+ return (first === undefined ? last !== undefined :
51
+ last === undefined || first.dev !== last.dev || first.ino !== last.ino ||
52
+ first.birthtimeNs !== last.birthtimeNs || first.ctimeNs !== last.ctimeNs ||
53
+ first.mtimeNs !== last.mtimeNs || first.size !== last.size || first.mode !== last.mode);
54
+ }
55
+ async function observeLegacyOperationLock(stateDirectory) {
56
+ try {
57
+ const canonicalParent = await realpath(dirname(stateDirectory));
58
+ const before = await lstat(stateDirectory, { bigint: true });
59
+ if (!before.isDirectory() || before.isSymbolicLink() ||
60
+ await realpath(stateDirectory) !== join(canonicalParent, LOCAL_STATE_DIRECTORY)) {
61
+ return "unverifiable";
62
+ }
63
+ if (await hasUnverifiableOperationLockEntries(stateDirectory)) {
64
+ return "unverifiable";
65
+ }
66
+ const path = join(stateDirectory, LOCAL_OPERATION_LOCK);
67
+ const first = await lstat(path, { bigint: true }).catch((error) => {
68
+ if (isMissing(error)) {
69
+ return;
70
+ }
71
+ throw error;
72
+ });
73
+ let result = "unverifiable";
74
+ if (first === undefined || first.isDirectory()) {
75
+ result = "compatible";
76
+ }
77
+ else if (first.isFile()) {
78
+ // No token parsing or ownership claim: even an active regular lock is
79
+ // incompatible with the exact 0.9.0 directory-only reader.
80
+ const record = await readBoundedRegularFile(path, maximumOperationLockBytes);
81
+ if (record.outcome === "read" && record.identity.dev === first.dev &&
82
+ record.identity.ino === first.ino && record.identity.birthtimeNs === first.birthtimeNs) {
83
+ result = "regular";
84
+ }
85
+ }
86
+ const last = await lstat(path, { bigint: true }).catch((error) => {
87
+ if (isMissing(error)) {
88
+ return;
89
+ }
90
+ throw error;
91
+ });
92
+ const after = await lstat(stateDirectory, { bigint: true });
93
+ if (stateDirectoryObservationChanged(before, after) ||
94
+ await realpath(stateDirectory) !== join(canonicalParent, LOCAL_STATE_DIRECTORY) ||
95
+ operationLockObservationChanged(first, last)) {
96
+ return "unverifiable";
97
+ }
98
+ return result;
99
+ }
100
+ catch {
101
+ return "unverifiable";
102
+ }
103
+ }
21
104
  function manual(reason, message) {
22
105
  return {
23
106
  state: "manual-recovery-required",
@@ -188,6 +271,29 @@ export class NodeFoundationTransactionSlot {
188
271
  if (localMode.state !== "idle" && transaction.state !== "idle") {
189
272
  return manual("multiple-transactions", "Local-mode and transaction-slot recovery evidence coexist; both were preserved and require manual recovery.");
190
273
  }
274
+ if (localMode.state === "idle" && transaction.state === "pending" &&
275
+ transaction.operationKind === "scaffolding" && transaction.format === "legacy-scaffolding-v1" &&
276
+ transaction.foundationVersion === "0.9.0") {
277
+ const lock = await observeLegacyOperationLock(this.#stateDirectory);
278
+ if (lock !== "compatible") {
279
+ const message = lock === "regular"
280
+ ? "The observed regular operation lock prevents the exact Foundation 0.9.0 directory-only reader from entering recovery."
281
+ : "The operation lock could not be observed safely for the exact Foundation 0.9.0 reader.";
282
+ return {
283
+ state: "manual-recovery-required",
284
+ reason: "recovery-handler-unavailable",
285
+ operationKind: "scaffolding",
286
+ foundationVersion: transaction.foundationVersion,
287
+ diagnostics: [{
288
+ code: "FOUNDATION_TRANSACTION_MANUAL_RECOVERY_REQUIRED",
289
+ message: `The recognized legacy scaffolding v1 journal from Foundation 0.9.0 was preserved. ${message} Manual recovery is required; mutation and consumer cutover remain blocked. No supported automatic handoff is available.`
290
+ }, ...transaction.diagnostics.filter(({ code }) => code === "FOUNDATION_TRANSACTION_VERSION_MISMATCH").map(({ code }) => ({
291
+ code,
292
+ message: "The recorded Foundation 0.9.0 compiler differs from the installed reader; its recovery route is not established for the observed lock."
293
+ }))]
294
+ };
295
+ }
296
+ }
191
297
  return transaction.state === "idle" ? localMode : transaction;
192
298
  }
193
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node-foundation-transaction-slot.js","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,qCAAqC,EACrC,qBAAqB,EACtB,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAOjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAE1F,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AACxC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9E,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,KAAK,YAAY,KAAK;QACtB,MAAM,IAAI,KAAK;QACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,MAAM,CACb,MAA8C,EAC9C,OAAe;IAEf,OAAO;QACL,KAAK,EAAE,0BAA0B;QACjC,MAAM;QACN,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,iDAAiD;gBACvD,OAAO;aACR;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,YAAY;QACZ,cAAc;QACd,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,OAAO;QACP,oBAAoB;QACpB,mBAAmB;QACnB,qBAAqB;QACrB,eAAe;QACf,mBAAmB;KACpB,CAAC;IACF,IACE,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,QAAQ;QACzC,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,QAAQ;QAC9C,OAAO,KAAK,CAAC,oBAAoB,CAAC,KAAK,QAAQ;QAC/C,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC,qBAAqB,CAAC,KAAK,QAAQ;QAChD,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,QAAQ;QAC3C,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS;QACtC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAwC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAAsB;IAEtB,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CACX,6BAA6B,EAC7B,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,8BAA8B,CAAC,0BAA0B,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,8BAA8B,CAAC,0BAA0B,CAAC,CAAC;IAClF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,CAAC,8BAA8B,CAAC,KAAK,CAAC,KAAK,YAAY,IAAI,KAAK,KAAK,0BAA0B,CAAC;QAChG,CAAC,8BAA8B,CAAC,KAAK,CAAC,KAAK,cAAc,IAAI,KAAK,KAAK,0BAA0B,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,MAAM,CACX,6BAA6B,EAC7B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,CAAC,GAAG,0BAA0B,GAAG,CAAC;QAClD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACzB,EACD,CAAC;QACD,OAAO,MAAM,CACX,6BAA6B,EAC7B,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS;YACd,CAAC,CAAC,gBAAgB,CACd,uGAAuG,CACxG;YACH,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,EAChD,qBAAqB,CACtB,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAC1B,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACjD,CAAC;QACF,IAAI,KAAK,KAAK,OAAO,IAAI,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,gBAAgB,CACrB,+CAA+C,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,sCAAsC,CAC1I,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CACX,6BAA6B,EAC7B,uEAAuE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAGD,MAAM,OAAO,6BAA6B;IAC/B,WAAW,CAAkC;IAC7C,eAAe,CAAS;IACxB,SAAS,CAAS;IAClB,uBAAuB,CAAS;IAEzC,YAAY,OAGX;QACC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CACjC,cAAc,EACd,qCAAqC,CACtC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,kBAAkB,GAAG,MAAM,mCAAmC,CAClE,IAAI,CAAC,eAAe,CACrB,CAAC;QACF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,sBAAsB,CACnC,IAAI,CAAC,SAAS,EACd,uBAAuB,CACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,sBAAsB,CACnC,IAAI,CAAC,uBAAuB,EAC5B,uBAAuB,CACxB,CAAC;gBACJ,CAAC;gBAAC,OAAO,cAAc,EAAE,CAAC;oBACxB,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;oBAC5C,CAAC;oBACD,OAAO,MAAM,CACX,cAAc,EACd,8FAA8F,CAC/F,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC9B,OAAO,MAAM,CACX,eAAe,EACf,0GAA0G,CAC3G,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CACX,cAAc,EACd,6EAA6E,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,MAAM,CACX,eAAe,EACf,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CACX,yBAAyB,EACzB,0FAA0F,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,IAAI,CAAC,2BAA2B,EAAE;SACnC,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,WAAW,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC/D,OAAO,MAAM,CACX,uBAAuB,EACvB,6GAA6G,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"node-foundation-transaction-slot.js","sourceRoot":"","sources":["../../../../src/transaction-coordination/adapters/node/node-foundation-transaction-slot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"foundation-transaction-coordinator.d.ts","sourceRoot":"","sources":["../../../src/transaction-coordination/application/foundation-transaction-coordinator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,wCAAwC,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AA0DxF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,mCAAmC,CAAC;IACrD,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAED,qBAAa,gCAAgC;;IAI3C,YAAY,OAAO,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;KAC1C,EAGA;IAEK,OAAO,IAAI,OAAO,CAAC,mCAAmC,CAAC,CAE5D;IAEK,OAAO,CAAC,OAAO,EAAE;QACrB,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,YAAY,GAAG,aAAa,CAAC;KAC3G,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAoDtC;CACF"}
1
+ {"version":3,"file":"foundation-transaction-coordinator.d.ts","sourceRoot":"","sources":["../../../src/transaction-coordination/application/foundation-transaction-coordinator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,wCAAwC,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAsExF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,mCAAmC,CAAC;IACrD,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAED,qBAAa,gCAAgC;;IAI3C,YAAY,OAAO,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;KAC1C,EAGA;IAEK,OAAO,IAAI,OAAO,CAAC,mCAAmC,CAAC,CAE5D;IAEK,OAAO,CAAC,OAAO,EAAE;QACrB,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,YAAY,GAAG,aAAa,CAAC;KAC3G,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA+DtC;CACF"}
@@ -33,6 +33,15 @@ function isKnownFileRecoveryAllowed(status, options) {
33
33
  options.requestedMutation === "known-file-transaction" &&
34
34
  !status.diagnostics.some(({ code }) => code === "FOUNDATION_TRANSACTION_VERSION_MISMATCH");
35
35
  }
36
+ function isLegacyScaffoldingPreflightRefusal(status) {
37
+ return ((status.state === "pending" || status.state === "manual-recovery-required") &&
38
+ status.operationKind === "scaffolding" &&
39
+ status.foundationVersion === "0.9.0" &&
40
+ (status.state === "pending"
41
+ ? status.format === "legacy-scaffolding-v1"
42
+ : status.reason === "recovery-handler-unavailable" && status.format === undefined) &&
43
+ status.diagnostics.some(({ code }) => code === "FOUNDATION_TRANSACTION_VERSION_MISMATCH"));
44
+ }
36
45
  export class FoundationTransactionCoordinator {
37
46
  #lock;
38
47
  #slot;
@@ -44,6 +53,17 @@ export class FoundationTransactionCoordinator {
44
53
  return this.#slot.inspect();
45
54
  }
46
55
  async acquire(options) {
56
+ // This observation may only deny. Admission still uses a fresh inspection
57
+ // under the existing lock, including when an old writer appears afterward.
58
+ // The Node slot preserves mismatch attribution when it replaces a strictly
59
+ // recognized v1 pending route with the existing format-less manual status.
60
+ const preflight = await this.#slot.inspect();
61
+ if (preflight.state !== "idle" && isLegacyScaffoldingPreflightRefusal(preflight)) {
62
+ throw new FoundationTransactionError({
63
+ requestedMutation: options.requestedMutation,
64
+ status: preflight
65
+ });
66
+ }
47
67
  const release = await this.#lock.acquire();
48
68
  let held = true;
49
69
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"foundation-transaction-coordinator.js","sourceRoot":"","sources":["../../../src/transaction-coordination/application/foundation-transaction-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundation-transaction-coordinator.js","sourceRoot":"","sources":["../../../src/transaction-coordination/application/foundation-transaction-coordinator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -66,6 +66,7 @@
66
66
  "presets/typescript/node.json",
67
67
  "schemas/architecture-source-dependencies/v1.schema.json",
68
68
  "schemas/architecture-source-dependencies/v2.schema.json",
69
+ "schemas/architecture-source-dependencies/v3.schema.json",
69
70
  "schemas/contract-json-schema-release-baseline/v1.schema.json",
70
71
  "schemas/contract-json-schema-releases/v1.schema.json",
71
72
  "schemas/contract-protobuf-breaking-qualification/v1.schema.json",
@@ -115,7 +116,7 @@
115
116
  },
116
117
  "sideEffects": false,
117
118
  "type": "module",
118
- "version": "1.1.0",
119
+ "version": "1.2.0",
119
120
  "scripts": {
120
121
  "build": "tsc --build tsconfig.json --pretty false"
121
122
  }
@@ -0,0 +1,195 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.agent-teams.ai/engineering-foundation/architecture-source-dependencies/v3",
4
+ "title": "Source dependency architecture capability configuration v3",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "workspace",
10
+ "packageRoots",
11
+ "governedRoots",
12
+ "boundaries"
13
+ ],
14
+ "properties": {
15
+ "schemaVersion": {
16
+ "const": 3
17
+ },
18
+ "workspace": {
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": [
22
+ "kind",
23
+ "manifest"
24
+ ],
25
+ "properties": {
26
+ "kind": {
27
+ "const": "pnpm"
28
+ },
29
+ "manifest": {
30
+ "const": "pnpm-workspace.yaml"
31
+ }
32
+ }
33
+ },
34
+ "packageRoots": {
35
+ "type": "array",
36
+ "minItems": 0,
37
+ "uniqueItems": true,
38
+ "items": {
39
+ "$ref": "#/$defs/repositoryDirectory"
40
+ }
41
+ },
42
+ "governedRoots": {
43
+ "type": "array",
44
+ "minItems": 1,
45
+ "uniqueItems": true,
46
+ "items": {
47
+ "$ref": "#/$defs/repositoryDirectory"
48
+ }
49
+ },
50
+ "boundaries": {
51
+ "type": "array",
52
+ "minItems": 1,
53
+ "maxItems": 5000,
54
+ "items": {
55
+ "$ref": "#/$defs/boundary"
56
+ }
57
+ },
58
+ "rootPackage": {
59
+ "const": true,
60
+ "description": "Select package.json as owner only of its declared governed source roots."
61
+ }
62
+ },
63
+ "$defs": {
64
+ "repositoryDirectory": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "maxLength": 240,
68
+ "pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*[!*?{}[\\]()|+])[^:]+$"
69
+ },
70
+ "boundaryId": {
71
+ "type": "string",
72
+ "minLength": 1,
73
+ "maxLength": 120,
74
+ "pattern": "^[a-z0-9](?:[a-z0-9._-]{0,118}[a-z0-9])?$"
75
+ },
76
+ "packageName": {
77
+ "type": "string",
78
+ "pattern": "^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$"
79
+ },
80
+ "builtinName": {
81
+ "type": "string",
82
+ "pattern": "^node:[a-z0-9_./-]+$"
83
+ },
84
+ "exactPackageExport": {
85
+ "type": "string",
86
+ "maxLength": 240,
87
+ "pattern": "^(?:\\.|\\./(?!\\.{1,2}(?:/|$))[A-Za-z0-9@._-]*[A-Za-z0-9@_-](?:/(?!\\.{1,2}(?:/|$))[A-Za-z0-9@._-]*[A-Za-z0-9@_-])*)$"
88
+ },
89
+ "boundary": {
90
+ "type": "object",
91
+ "additionalProperties": false,
92
+ "required": [
93
+ "id",
94
+ "roots",
95
+ "entrypoints",
96
+ "allow"
97
+ ],
98
+ "properties": {
99
+ "id": {
100
+ "$ref": "#/$defs/boundaryId"
101
+ },
102
+ "dependencyMode": {
103
+ "enum": [
104
+ "runtime",
105
+ "development"
106
+ ]
107
+ },
108
+ "packageExports": {
109
+ "type": "array",
110
+ "uniqueItems": true,
111
+ "items": {
112
+ "$ref": "#/$defs/exactPackageExport"
113
+ }
114
+ },
115
+ "roots": {
116
+ "type": "array",
117
+ "minItems": 1,
118
+ "uniqueItems": true,
119
+ "items": {
120
+ "$ref": "#/$defs/repositoryDirectory"
121
+ }
122
+ },
123
+ "entrypoints": {
124
+ "type": "array",
125
+ "uniqueItems": true,
126
+ "items": {
127
+ "$ref": "#/$defs/repositoryDirectory"
128
+ }
129
+ },
130
+ "allow": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "required": [
134
+ "boundaries",
135
+ "packages",
136
+ "builtins",
137
+ "runtimeReferences"
138
+ ],
139
+ "properties": {
140
+ "boundaries": {
141
+ "type": "array",
142
+ "uniqueItems": true,
143
+ "items": {
144
+ "$ref": "#/$defs/boundaryId"
145
+ }
146
+ },
147
+ "packages": {
148
+ "type": "array",
149
+ "uniqueItems": true,
150
+ "items": {
151
+ "$ref": "#/$defs/packageName"
152
+ }
153
+ },
154
+ "builtins": {
155
+ "type": "array",
156
+ "uniqueItems": true,
157
+ "items": {
158
+ "$ref": "#/$defs/builtinName"
159
+ }
160
+ },
161
+ "runtimeReferences": {
162
+ "type": "array",
163
+ "uniqueItems": true,
164
+ "items": {
165
+ "enum": [
166
+ "commonjs",
167
+ "dynamic",
168
+ "type-query"
169
+ ]
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
176
+ },
177
+ "anyOf": [
178
+ {
179
+ "properties": {
180
+ "packageRoots": {
181
+ "type": "array",
182
+ "minItems": 1
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "required": [
188
+ "rootPackage"
189
+ ],
190
+ "properties": {
191
+ "rootPackage": true
192
+ }
193
+ }
194
+ ]
195
+ }