@sublang/slc 0.5.0 → 0.7.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 (120) hide show
  1. package/README.md +10 -5
  2. package/dist/app.d.ts +20 -20
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +44 -31
  5. package/dist/app.js.map +1 -1
  6. package/dist/artifacts.d.ts +6 -6
  7. package/dist/artifacts.d.ts.map +1 -1
  8. package/dist/artifacts.js +9 -9
  9. package/dist/artifacts.js.map +1 -1
  10. package/dist/cli.js +3 -3
  11. package/dist/cligent-agent.d.ts +9 -2
  12. package/dist/cligent-agent.d.ts.map +1 -1
  13. package/dist/cligent-agent.js +6 -5
  14. package/dist/cligent-agent.js.map +1 -1
  15. package/dist/compiled-execution.d.ts +44 -0
  16. package/dist/compiled-execution.d.ts.map +1 -0
  17. package/dist/compiled-execution.js +184 -0
  18. package/dist/compiled-execution.js.map +1 -0
  19. package/dist/compiled-executor.d.ts +16 -6
  20. package/dist/compiled-executor.d.ts.map +1 -1
  21. package/dist/compiled-executor.js +182 -35
  22. package/dist/compiled-executor.js.map +1 -1
  23. package/dist/config-file.d.ts +9 -6
  24. package/dist/config-file.d.ts.map +1 -1
  25. package/dist/config-file.js +27 -9
  26. package/dist/config-file.js.map +1 -1
  27. package/dist/config.d.ts +77 -24
  28. package/dist/config.d.ts.map +1 -1
  29. package/dist/config.js +128 -52
  30. package/dist/config.js.map +1 -1
  31. package/dist/emitted-imports.d.ts +14 -0
  32. package/dist/emitted-imports.d.ts.map +1 -1
  33. package/dist/emitted-imports.js +63 -7
  34. package/dist/emitted-imports.js.map +1 -1
  35. package/dist/entry-module.d.ts +5 -3
  36. package/dist/entry-module.d.ts.map +1 -1
  37. package/dist/entry-module.js +41 -13
  38. package/dist/entry-module.js.map +1 -1
  39. package/dist/execution.d.ts +10 -10
  40. package/dist/execution.d.ts.map +1 -1
  41. package/dist/execution.js +13 -13
  42. package/dist/execution.js.map +1 -1
  43. package/dist/hash.js +2 -2
  44. package/dist/interpreter.d.ts +2 -2
  45. package/dist/interpreter.d.ts.map +1 -1
  46. package/dist/interpreter.js +7 -7
  47. package/dist/invocation.d.ts +6 -6
  48. package/dist/invocation.d.ts.map +1 -1
  49. package/dist/invocation.js +1 -1
  50. package/dist/link.d.ts +4 -4
  51. package/dist/link.d.ts.map +1 -1
  52. package/dist/link.js +11 -11
  53. package/dist/link.js.map +1 -1
  54. package/dist/phase-runner.d.ts +13 -6
  55. package/dist/phase-runner.d.ts.map +1 -1
  56. package/dist/phase-runner.js +12 -10
  57. package/dist/phase-runner.js.map +1 -1
  58. package/dist/phase.d.ts +4 -4
  59. package/dist/phase.d.ts.map +1 -1
  60. package/dist/phase.js +7 -7
  61. package/dist/phase.js.map +1 -1
  62. package/dist/pin-closure.d.ts +35 -7
  63. package/dist/pin-closure.d.ts.map +1 -1
  64. package/dist/pin-closure.js +135 -21
  65. package/dist/pin-closure.js.map +1 -1
  66. package/dist/pin-currency.d.ts +9 -4
  67. package/dist/pin-currency.d.ts.map +1 -1
  68. package/dist/pin-currency.js +57 -20
  69. package/dist/pin-currency.js.map +1 -1
  70. package/dist/pin-generate.d.ts +7 -7
  71. package/dist/pin-generate.d.ts.map +1 -1
  72. package/dist/pin-generate.js +24 -10
  73. package/dist/pin-generate.js.map +1 -1
  74. package/dist/pin-inputs.d.ts +41 -0
  75. package/dist/pin-inputs.d.ts.map +1 -0
  76. package/dist/pin-inputs.js +179 -0
  77. package/dist/pin-inputs.js.map +1 -0
  78. package/dist/pin-paths.d.ts +1 -1
  79. package/dist/pin-paths.js +4 -4
  80. package/dist/pin-paths.js.map +1 -1
  81. package/dist/pins.d.ts +4 -4
  82. package/dist/pins.d.ts.map +1 -1
  83. package/dist/pins.js +5 -5
  84. package/dist/pins.js.map +1 -1
  85. package/dist/pipeline.d.ts +5 -5
  86. package/dist/pipeline.js +10 -10
  87. package/dist/playbook-contract.d.ts +49 -5
  88. package/dist/playbook-contract.d.ts.map +1 -1
  89. package/dist/playbook-contract.js +70 -21
  90. package/dist/playbook-contract.js.map +1 -1
  91. package/dist/playbook-ports.d.ts +9 -9
  92. package/dist/playbook-ports.d.ts.map +1 -1
  93. package/dist/playbook-ports.js +3 -3
  94. package/dist/playbook-ports.js.map +1 -1
  95. package/dist/progress.d.ts +8 -9
  96. package/dist/progress.d.ts.map +1 -1
  97. package/dist/progress.js +3 -3
  98. package/dist/progress.js.map +1 -1
  99. package/dist/resolver.d.ts +9 -9
  100. package/dist/resolver.d.ts.map +1 -1
  101. package/dist/resolver.js +12 -12
  102. package/dist/resolver.js.map +1 -1
  103. package/dist/runner.d.ts +2 -2
  104. package/dist/runner.d.ts.map +1 -1
  105. package/dist/runner.js +218 -81
  106. package/dist/runner.js.map +1 -1
  107. package/dist/runtime-contract.d.ts +17 -0
  108. package/dist/runtime-contract.d.ts.map +1 -0
  109. package/dist/runtime-contract.js +114 -0
  110. package/dist/runtime-contract.js.map +1 -0
  111. package/dist/slc.config.template.yaml +7 -2
  112. package/dist/verify-coverage.d.ts +4 -3
  113. package/dist/verify-coverage.d.ts.map +1 -1
  114. package/dist/verify-coverage.js +509 -71
  115. package/dist/verify-coverage.js.map +1 -1
  116. package/dist/verify.d.ts +153 -15
  117. package/dist/verify.d.ts.map +1 -1
  118. package/dist/verify.js +707 -59
  119. package/dist/verify.js.map +1 -1
  120. package/package.json +3 -3
@@ -23,18 +23,23 @@ export interface PinEvaluationOptions {
23
23
  observePath?: (path: string) => void;
24
24
  }
25
25
  /**
26
- * Evaluates every pin in `<pipelineDir>/slc.pins.json` (PIN-1..PIN-6).
26
+ * Evaluates every pin in `<pipelineDir>/slc.pins.json` (pinning-1..pinning-6).
27
27
  *
28
28
  * @returns `{}` when the file is absent (no pins), `{ malformed }` when the file
29
29
  * is unparseable or invalid at the file level, or `{ path, verdicts }` with a
30
30
  * per-phase verdict otherwise.
31
31
  */
32
32
  export declare function evaluatePins(pipelineDir: string): Promise<PinsResult>;
33
- /** Evaluates every record and prevents one malformed record from coexisting with a current one. */
33
+ /**
34
+ * Validates the shared sidecar, then evaluates every record and prevents one
35
+ * malformed record from coexisting with a current one.
36
+ *
37
+ * @throws {PinError} when shared sidecar metadata is malformed at file level.
38
+ */
34
39
  export declare function evaluatePinFile(pipelineDir: string, file: PinFile, opts?: PinEvaluationOptions): Promise<Record<string, PinVerdict>>;
35
40
  /**
36
- * Evaluates one phase's pin record against the committed files (PIN-2..PIN-6,
37
- * PIN-13).
41
+ * Evaluates one phase's pin record against the committed files (pinning-2..pinning-6,
42
+ * pinning-13).
38
43
  *
39
44
  * Structural defects are reported as `malformed` before currency is judged, so a
40
45
  * record that is both malformed and stale reports `malformed`.
@@ -1 +1 @@
1
- {"version":3,"file":"pin-currency.d.ts","sourceRoot":"","sources":["../src/pin-currency.ts"],"names":[],"mappings":"AA4CA,OAAO,EAIL,KAAK,OAAO,EAGZ,KAAK,SAAS,EAEf,MAAM,WAAW,CAAC;AAMnB,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB3E;AAED,mGAAmG;AACnG,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAwBrC;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,UAAU,CAAC,CAuIrB;AA6FD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyBxB;AA0JD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,MAAM,CAAC,CAajB"}
1
+ {"version":3,"file":"pin-currency.d.ts","sourceRoot":"","sources":["../src/pin-currency.ts"],"names":[],"mappings":"AAkDA,OAAO,EAIL,KAAK,OAAO,EAGZ,KAAK,SAAS,EAEf,MAAM,WAAW,CAAC;AAMnB,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAwB3E;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAsCrC;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,UAAU,CAAC,CAErB;AA4QD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyBxB;AA0JD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,MAAM,CAAC,CAajB"}
@@ -2,7 +2,7 @@
2
2
  // SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
3
3
  /**
4
4
  * Pin-currency engine: the per-phase verdict that drives compiled selection
5
- * (PIN-1..PIN-6, PIN-13; DR-007).
5
+ * (pinning-1..pinning-6, pinning-13; DR-007).
6
6
  *
7
7
  * Given a pipeline directory, {@link evaluatePins} loads `slc.pins.json` and, for
8
8
  * each pinned phase, combines the validator stages into a verdict: `current` when
@@ -16,19 +16,21 @@
16
16
  * target by a deterministic `sha256:` tree hash over its files' sorted relative
17
17
  * paths and contents. Beyond existing and matching its recorded hash, the
18
18
  * compiled artifact must resolve to the linked `playbook` format — a module
19
- * exposing the runtime factory — or the phase is stale (PIN-13). See
20
- * specs/dev/pinning.md.
19
+ * exposing the runtime factory — or the phase is stale (pinning-13). See
20
+ * specs/packages/pinning.md.
21
21
  */
22
22
  import { lstat, readFile, readdir, readlink } from 'node:fs/promises';
23
- import { basename, dirname, isAbsolute, join, relative, resolve, sep, } from 'node:path';
23
+ import { basename as hostBasename, dirname, isAbsolute, join, relative, resolve, sep, } from 'node:path';
24
+ import { basename as posixBasename } from 'node:path/posix';
24
25
  import { hashFile, hashTreeRecords, isHash, serializeTreeRecord, } from './hash.js';
25
26
  import { resolvesToPlaybook } from './phase-runner.js';
26
- import { closureMatchesRecord } from './pin-closure.js';
27
+ import { closureMatchesRecord, deriveClosure, derivedClosureMatchesRecord, } from './pin-closure.js';
28
+ import { loadPinInputsFile } from './pin-inputs.js';
27
29
  import { resolvePinPath } from './pin-paths.js';
28
30
  import { PinError, loadPinFile, } from './pins.js';
29
31
  import { isBarePackageSpecifier, resolveRuntimePackage, } from './runtime-package.js';
30
32
  /**
31
- * Evaluates every pin in `<pipelineDir>/slc.pins.json` (PIN-1..PIN-6).
33
+ * Evaluates every pin in `<pipelineDir>/slc.pins.json` (pinning-1..pinning-6).
32
34
  *
33
35
  * @returns `{}` when the file is absent (no pins), `{ malformed }` when the file
34
36
  * is unparseable or invalid at the file level, or `{ path, verdicts }` with a
@@ -48,14 +50,31 @@ export async function evaluatePins(pipelineDir) {
48
50
  if (loaded.file === undefined) {
49
51
  return {};
50
52
  }
51
- const verdicts = await evaluatePinFile(pipelineDir, loaded.file);
52
- return { path: loaded.path, verdicts };
53
+ try {
54
+ const verdicts = await evaluatePinFile(pipelineDir, loaded.file);
55
+ return { path: loaded.path, verdicts };
56
+ }
57
+ catch (error) {
58
+ if (error instanceof PinError) {
59
+ return { path: loaded.path, malformed: error.message };
60
+ }
61
+ throw error;
62
+ }
53
63
  }
54
- /** Evaluates every record and prevents one malformed record from coexisting with a current one. */
64
+ /**
65
+ * Validates the shared sidecar, then evaluates every record and prevents one
66
+ * malformed record from coexisting with a current one.
67
+ *
68
+ * @throws {PinError} when shared sidecar metadata is malformed at file level.
69
+ */
55
70
  export async function evaluatePinFile(pipelineDir, file, opts = {}) {
71
+ const pinInputs = await loadPinInputsFile(pipelineDir, file.pathBoundary.path);
72
+ if (pinInputs.path !== undefined) {
73
+ opts.observePath?.(pinInputs.path);
74
+ }
56
75
  const verdicts = Object.create(null);
57
76
  for (const [phase, record] of Object.entries(file.pins)) {
58
- verdicts[phase] = await evaluatePin(pipelineDir, file, phase, record, opts);
77
+ verdicts[phase] = await evaluatePinRecord(pipelineDir, file, phase, record, opts, pinInputs);
59
78
  }
60
79
  const malformedPhase = Object.entries(verdicts).find(([, verdict]) => verdict.status === 'malformed');
61
80
  if (malformedPhase !== undefined) {
@@ -70,13 +89,16 @@ export async function evaluatePinFile(pipelineDir, file, opts = {}) {
70
89
  return verdicts;
71
90
  }
72
91
  /**
73
- * Evaluates one phase's pin record against the committed files (PIN-2..PIN-6,
74
- * PIN-13).
92
+ * Evaluates one phase's pin record against the committed files (pinning-2..pinning-6,
93
+ * pinning-13).
75
94
  *
76
95
  * Structural defects are reported as `malformed` before currency is judged, so a
77
96
  * record that is both malformed and stale reports `malformed`.
78
97
  */
79
98
  export async function evaluatePin(pipelineDir, file, phase, record, opts = {}) {
99
+ return evaluatePinRecord(pipelineDir, file, phase, record, opts);
100
+ }
101
+ async function evaluatePinRecord(pipelineDir, file, phase, record, opts, preloadedPinInputs) {
80
102
  const boundary = file.pathBoundary.path;
81
103
  try {
82
104
  // Structural (malformed) checks first.
@@ -109,8 +131,20 @@ export async function evaluatePin(pipelineDir, file, phase, record, opts = {}) {
109
131
  if (bundleMalformed !== null) {
110
132
  return malformed(bundleMalformed);
111
133
  }
134
+ // A present sidecar is structural pin metadata. Validate its complete
135
+ // shape and boundary, then prederive an applicable sidecar entry, before
136
+ // any byte-currency check so malformed input is never masked by an
137
+ // independently stale recorded file (pinning-18, pinning-20).
138
+ const pinInputs = preloadedPinInputs ?? (await loadPinInputsFile(pipelineDir, boundary));
139
+ if (pinInputs.path !== undefined) {
140
+ opts.observePath?.(pinInputs.path);
141
+ }
142
+ const derivedSidecarClosure = pinInputs.file !== undefined &&
143
+ Object.hasOwn(pinInputs.file.closures, phase)
144
+ ? await deriveClosure(pipelineDir, boundary, record.definition.path, phase, opts.observePath, pinInputs)
145
+ : undefined;
112
146
  // Currency (stale) checks. resolvePinPath throws PinError for a bad path,
113
- // which the catch below maps to malformed (PIN-5).
147
+ // which the catch below maps to malformed (pinning-5).
114
148
  for (const [field, ref] of recordedFileRefs(record)) {
115
149
  const reason = await fileStale(pipelineDir, boundary, ref, field, opts.observePath);
116
150
  if (reason !== null) {
@@ -125,13 +159,16 @@ export async function evaluatePin(pipelineDir, file, phase, record, opts = {}) {
125
159
  if (bundleLayout !== null) {
126
160
  return stale(bundleLayout);
127
161
  }
128
- // The hash-verified artifact must resolve to the linked `phase` format (PIN-13).
162
+ // The hash-verified artifact must resolve to the linked `playbook` format (pinning-13).
129
163
  const artifactFormat = await artifactFormatStale(pipelineDir, boundary, record.artifact, opts.observePath);
130
164
  if (artifactFormat !== null) {
131
165
  return stale(artifactFormat);
132
166
  }
133
- if (!(await closureMatchesRecord(pipelineDir, boundary, record, opts.observePath))) {
134
- return stale("the semantic-input closure differs from the definition's ## Pin Inputs");
167
+ const closureMatches = derivedSidecarClosure === undefined
168
+ ? await closureMatchesRecord(pipelineDir, boundary, record, phase, opts.observePath, pinInputs)
169
+ : derivedClosureMatchesRecord(pipelineDir, boundary, record, derivedSidecarClosure);
170
+ if (!closureMatches) {
171
+ return stale('the semantic-input closure differs from its applicable sidecar or inline declaration');
135
172
  }
136
173
  const linkStale = await linkTargetStale(pipelineDir, boundary, record.linkTarget, 'linkTarget', opts.observePath);
137
174
  if (linkStale !== null) {
@@ -158,8 +195,8 @@ function phaseRecordMalformed(phase, record) {
158
195
  const expectedDefinition = `${phase}.md`;
159
196
  const expectedBundle = `${phase}.slc`;
160
197
  const expectedArtifact = `${expectedBundle}/${phase}.playbook.ts`;
161
- if (record.definition.path !== expectedDefinition) {
162
- return `pin key "${phase}" requires definition path "${expectedDefinition}"`;
198
+ if (posixBasename(record.definition.path) !== expectedDefinition) {
199
+ return `pin key "${phase}" requires definition basename "${expectedDefinition}"`;
163
200
  }
164
201
  if (record.artifactBundle.path !== expectedBundle) {
165
202
  return `pin key "${phase}" requires artifactBundle path "${expectedBundle}"`;
@@ -221,7 +258,7 @@ function artifactBundleMalformed(pipelineDir, boundary, record) {
221
258
  * being reviewed is actually the runnable FSM/GEARS/verification bundle.
222
259
  */
223
260
  export async function artifactBundleLayoutIssue(bundleRoot, artifactPath) {
224
- const entry = basename(artifactPath);
261
+ const entry = hostBasename(artifactPath);
225
262
  if (!entry.endsWith('.playbook.ts')) {
226
263
  return `artifact is not a canonical .playbook.ts entry module (${entry})`;
227
264
  }
@@ -249,7 +286,7 @@ export async function artifactBundleLayoutIssue(bundleRoot, artifactPath) {
249
286
  }
250
287
  /**
251
288
  * Returns a stale reason when the compiled artifact's bytes do not resolve to the
252
- * linked `playbook` format, or `null` when they do (PIN-13). The caller has already
289
+ * linked `playbook` format, or `null` when they do (pinning-13). The caller has already
253
290
  * verified the artifact exists and matches its recorded hash.
254
291
  */
255
292
  async function artifactFormatStale(pipelineDir, boundary, artifact, observePath) {
@@ -1 +1 @@
1
- {"version":3,"file":"pin-currency.js","sourceRoot":"","sources":["../src/pin-currency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pin-currency.js","sourceRoot":"","sources":["../src/pin-currency.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type PinExternalInput, type PinLinkTarget, type PinProducer, type PinRecord, type PinRuntimeDependency } from './pins.js';
2
2
  /** The committed inputs that produced one compiled phase, to pin (DR-007). */
3
3
  export interface PinSpec {
4
- /** Pipeline-dir-relative path to the phase definition. */
4
+ /** Portable pipeline-relative locator to the phase definition, inside the boundary. */
5
5
  definition: string;
6
6
  /** Pipeline-dir-relative path to the compiled `.playbook.ts` entry module. */
7
7
  artifact: string;
@@ -22,25 +22,25 @@ export interface PinSpec {
22
22
  /** Provenance of the producing run; never a currency input. */
23
23
  producer?: PinProducer;
24
24
  }
25
- /** Options for pin generation (PIN-15). */
25
+ /** Options for pin generation (pinning-15). */
26
26
  export interface PinGenerateOptions {
27
27
  /**
28
28
  * The recorded path boundary, a relative POSIX path from the pipeline
29
29
  * directory; defaults to `.`. A wider boundary (e.g. `../..`) lets a pin
30
- * record a link target outside the pipeline directory, such as the installed
31
- * package module the artifacts were linked against.
30
+ * record a definition, semantic input, dependency, or link target outside the
31
+ * pipeline directory, such as an installed package module.
32
32
  */
33
33
  boundary?: string;
34
34
  }
35
35
  /**
36
36
  * Generates a current {@link PinRecord} for one phase from its committed inputs
37
- * (PIN-15). The definition is recorded separately; the rest of its `## Pin Inputs`
38
- * closure becomes the enumerated `semanticInputs`.
37
+ * (pinning-15). The definition is recorded separately; the rest of its
38
+ * applicable sidecar or inline closure becomes the enumerated `semanticInputs`.
39
39
  */
40
40
  export declare function generatePinRecord(pipelineDir: string, spec: PinSpec, opts?: PinGenerateOptions): Promise<PinRecord>;
41
41
  /**
42
42
  * Writes the pin index `<pipelineDir>/slc.pins.json` for the given phase records
43
- * and returns its path (PIN-15).
43
+ * and returns its path (pinning-15).
44
44
  */
45
45
  export declare function writePinFile(pipelineDir: string, pins: Readonly<Record<string, PinRecord>>, opts?: PinGenerateOptions): Promise<string>;
46
46
  //# sourceMappingURL=pin-generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pin-generate.d.ts","sourceRoot":"","sources":["../src/pin-generate.ts"],"names":[],"mappings":"AA0BA,OAAO,EAKL,KAAK,gBAAgB,EAErB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EAC1B,MAAM,WAAW,CAAC;AAGnB,8EAA8E;AAC9E,MAAM,WAAW,OAAO;IACtB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,UAAU,EAAE;QACV,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,yFAAyF;IACzF,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,SAAS,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,EAAE,CAAC;IACxE,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAKD,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAoIpB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EACzC,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAUjB"}
1
+ {"version":3,"file":"pin-generate.d.ts","sourceRoot":"","sources":["../src/pin-generate.ts"],"names":[],"mappings":"AAqCA,OAAO,EAKL,KAAK,gBAAgB,EAErB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EAC1B,MAAM,WAAW,CAAC;AAGnB,8EAA8E;AAC9E,MAAM,WAAW,OAAO;IACtB,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,UAAU,EAAE;QACV,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,yFAAyF;IACzF,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,SAAS,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,EAAE,CAAC;IACxE,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAKD,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAyJpB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EACzC,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -2,20 +2,23 @@
2
2
  // SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
3
3
  /**
4
4
  * Pin generation: the explicit build-and-review flow that writes `slc.pins.json`
5
- * (PIN-15; DR-007).
5
+ * (pinning-15, pinning-17; DR-007, DR-026).
6
6
  *
7
7
  * This is the inverse of the currency validator: given a built and reviewed
8
8
  * compiled artifact, {@link generatePinRecord} records — over committed bytes —
9
9
  * the definition, compiled entry module and reviewed artifact bundle, the
10
- * semantic-input closure derived from the definition's `## Pin Inputs`, and the
11
- * link-target identity, so the resulting record validates as current.
10
+ * semantic-input closure derived from its applicable sidecar or inline
11
+ * declaration, and the link-target identity, so the resulting record validates
12
+ * as current.
12
13
  * {@link writePinFile} writes the pin index for a pipeline directory. Generation
13
14
  * is invoked only by an explicit build-and-review step, never during an ordinary
14
15
  * pipeline run; `slc` does not regenerate or rewrite pins per invocation
15
- * (DR-007 lifecycle). See specs/dev/pinning.md.
16
+ * (DR-007 lifecycle). See specs/packages/pinning.md.
16
17
  */
17
- import { writeFile } from 'node:fs/promises';
18
- import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
18
+ import { readFile, writeFile } from 'node:fs/promises';
19
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep, } from 'node:path';
20
+ import { basename as posixBasename } from 'node:path/posix';
21
+ import { checkCompiledExecutionFidelity } from './compiled-execution.js';
19
22
  import { messageOf } from './errors.js';
20
23
  import { hashFile } from './hash.js';
21
24
  import { deriveClosure } from './pin-closure.js';
@@ -27,13 +30,13 @@ import { resolveRuntimePackage } from './runtime-package.js';
27
30
  const BOUNDARY = '.';
28
31
  /**
29
32
  * Generates a current {@link PinRecord} for one phase from its committed inputs
30
- * (PIN-15). The definition is recorded separately; the rest of its `## Pin Inputs`
31
- * closure becomes the enumerated `semanticInputs`.
33
+ * (pinning-15). The definition is recorded separately; the rest of its
34
+ * applicable sidecar or inline closure becomes the enumerated `semanticInputs`.
32
35
  */
33
36
  export async function generatePinRecord(pipelineDir, spec, opts = {}) {
34
37
  const boundary = opts.boundary ?? BOUNDARY;
35
38
  const definitionResolved = resolvePinPath(pipelineDir, boundary, spec.definition, 'definition');
36
- const closure = await deriveClosure(pipelineDir, boundary, spec.definition);
39
+ const closure = await deriveClosure(pipelineDir, boundary, spec.definition, phaseName(spec.definition));
37
40
  const semanticInputs = await Promise.all([...closure]
38
41
  .filter((resolved) => resolved !== definitionResolved)
39
42
  .sort()
@@ -57,6 +60,13 @@ export async function generatePinRecord(pipelineDir, spec, opts = {}) {
57
60
  if (bundleLayout !== null) {
58
61
  throw new PinError('pin-invalid', bundleLayout);
59
62
  }
63
+ // A definition declaring its compiled-execution contract is pinned only to
64
+ // a bundle whose GEARS preserves that contract verbatim (pinning-23; DR-028).
65
+ const gearsResolved = join(artifactBundleResolved, `${basename(artifactResolved).slice(0, -'.playbook.ts'.length)}.gears.md`);
66
+ const fidelity = checkCompiledExecutionFidelity(await readFile(definitionResolved, 'utf8'), await readFile(gearsResolved, 'utf8'));
67
+ if (fidelity.applicable && fidelity.findings.length > 0) {
68
+ throw new PinError('pin-invalid', `artifactBundle does not preserve the definition's compiled-execution contract: ${fidelity.findings.join('; ')}`);
69
+ }
60
70
  const linkResolved = resolvePinPath(pipelineDir, boundary, spec.linkTarget.locator, 'linkTarget.locator');
61
71
  const identity = spec.linkTarget.kind === 'file'
62
72
  ? await hashFile(linkResolved)
@@ -110,7 +120,7 @@ export async function generatePinRecord(pipelineDir, spec, opts = {}) {
110
120
  }
111
121
  /**
112
122
  * Writes the pin index `<pipelineDir>/slc.pins.json` for the given phase records
113
- * and returns its path (PIN-15).
123
+ * and returns its path (pinning-15).
114
124
  */
115
125
  export async function writePinFile(pipelineDir, pins, opts = {}) {
116
126
  const file = {
@@ -126,4 +136,8 @@ export async function writePinFile(pipelineDir, pins, opts = {}) {
126
136
  function toPosix(path) {
127
137
  return path.split(sep).join('/');
128
138
  }
139
+ function phaseName(definitionPath) {
140
+ const name = posixBasename(definitionPath);
141
+ return name.endsWith('.md') ? name.slice(0, -'.md'.length) : name;
142
+ }
129
143
  //# sourceMappingURL=pin-generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pin-generate.js","sourceRoot":"","sources":["../src/pin-generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pin-generate.js","sourceRoot":"","sources":["../src/pin-generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { PinError } from './pins.js';
2
+ /** Optional per-pipeline semantic-input declaration filename (DR-026). */
3
+ export declare const PIN_INPUTS_FILE = "slc.pin-inputs.json";
4
+ /** The only supported semantic-input declaration schema (DR-026). */
5
+ export declare const PIN_INPUTS_SCHEMA = "sublang.slc.pin-inputs.v1";
6
+ /** Parsed SLC-owned semantic-input declarations. */
7
+ export interface PinInputsFile {
8
+ schema: string;
9
+ closures: Record<string, string[]>;
10
+ }
11
+ /** A loaded declaration and its path, or neither when the sidecar is absent. */
12
+ export interface LoadedPinInputs {
13
+ path?: string;
14
+ file?: PinInputsFile;
15
+ }
16
+ /** A tolerant boundary inspection used by runtime protected-input discovery. */
17
+ export interface InspectedPinInputs extends LoadedPinInputs {
18
+ /** Resolved members by entry and source order; invalid members stay absent. */
19
+ resolvedClosures: Record<string, Array<string | undefined>>;
20
+ /** First boundary failure in file order, when any member is invalid. */
21
+ issue?: PinError;
22
+ }
23
+ /**
24
+ * Loads and validates `<pipelineDir>/slc.pin-inputs.json` (pinning-18).
25
+ *
26
+ * Every closure path is validated inside `boundary`, including paths belonging
27
+ * to phases other than the one a caller is about to derive.
28
+ */
29
+ export declare function loadPinInputsFile(pipelineDir: string, boundary: string): Promise<LoadedPinInputs>;
30
+ /**
31
+ * Reads the complete sidecar structure and inspects every member boundary.
32
+ *
33
+ * Unlike {@link loadPinInputsFile}, a member boundary failure is returned with
34
+ * every independently valid resolved member. Structural failures still throw
35
+ * because no trustworthy sidecar member list can be recovered; closure
36
+ * inspection may separately recover inline paths for conservative protection.
37
+ */
38
+ export declare function inspectPinInputsFile(pipelineDir: string, boundary: string): Promise<InspectedPinInputs>;
39
+ /** Parses strict sidecar JSON and validates its complete field shape. */
40
+ export declare function parsePinInputsFile(source: string, path?: string): PinInputsFile;
41
+ //# sourceMappingURL=pin-inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin-inputs.d.ts","sourceRoot":"","sources":["../src/pin-inputs.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,0EAA0E;AAC1E,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACpC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,wEAAwE;IACxE,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAS1B;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CAiC7B;AAqCD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAwB,GAC7B,aAAa,CAqBf"}