perttool 0.5.4 → 0.6.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 (57) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/README.md +60 -20
  3. package/dist/application/advance-history.d.ts +46 -0
  4. package/dist/application/advance-history.d.ts.map +1 -0
  5. package/dist/application/advance-history.js +254 -0
  6. package/dist/application/advance-history.js.map +1 -0
  7. package/dist/application/contract6-mutation.d.ts +3 -2
  8. package/dist/application/contract6-mutation.d.ts.map +1 -1
  9. package/dist/application/contract6-mutation.js +2 -1
  10. package/dist/application/contract6-mutation.js.map +1 -1
  11. package/dist/application/contract6-projection.d.ts +2 -1
  12. package/dist/application/contract6-projection.d.ts.map +1 -1
  13. package/dist/application/contract6-projection.js +31 -1
  14. package/dist/application/contract6-projection.js.map +1 -1
  15. package/dist/application/target-actuals-write.d.ts +2 -1
  16. package/dist/application/target-actuals-write.d.ts.map +1 -1
  17. package/dist/application/target-actuals-write.js.map +1 -1
  18. package/dist/cli.js +78 -15
  19. package/dist/cli.js.map +1 -1
  20. package/dist/command/actuals-discovery.d.ts.map +1 -1
  21. package/dist/command/actuals-discovery.js +50 -4
  22. package/dist/command/actuals-discovery.js.map +1 -1
  23. package/dist/governance/authority.d.ts +1 -0
  24. package/dist/governance/authority.d.ts.map +1 -1
  25. package/dist/governance/authority.js +24 -2
  26. package/dist/governance/authority.js.map +1 -1
  27. package/dist/help/registry.d.ts.map +1 -1
  28. package/dist/help/registry.js +11 -1
  29. package/dist/help/registry.js.map +1 -1
  30. package/dist/help/target-governance-guide.js +2 -2
  31. package/dist/help/target-governance-guide.js.map +1 -1
  32. package/dist/history/advance-history.d.ts +44 -0
  33. package/dist/history/advance-history.d.ts.map +1 -0
  34. package/dist/history/advance-history.js +379 -0
  35. package/dist/history/advance-history.js.map +1 -0
  36. package/dist/history/git-probe.d.ts +40 -0
  37. package/dist/history/git-probe.d.ts.map +1 -1
  38. package/dist/history/git-probe.js +330 -0
  39. package/dist/history/git-probe.js.map +1 -1
  40. package/dist/index.d.ts +3 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/mutation/advance-deletion.d.ts +14 -0
  45. package/dist/mutation/advance-deletion.d.ts.map +1 -0
  46. package/dist/mutation/advance-deletion.js +53 -0
  47. package/dist/mutation/advance-deletion.js.map +1 -0
  48. package/dist/mutation/advance.d.ts.map +1 -1
  49. package/dist/mutation/advance.js +8 -25
  50. package/dist/mutation/advance.js.map +1 -1
  51. package/dist/schema/registry.d.ts.map +1 -1
  52. package/dist/schema/registry.js +1 -0
  53. package/dist/schema/registry.js.map +1 -1
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/package.json +1 -1
  57. package/schemas/Perttool.AdvanceResult.v1.schema.json +254 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,57 @@ This project records its notable changes here. The format is based on [Keep a Ch
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.6.0] - 2026-07-31
8
+
9
+ Grammar 5 and CLI Contract 6 beta minor. This version protects destructive
10
+ in-place `dag advance` writes with exact read-only Git evidence and publishes a
11
+ separate closed advance-result identity.
12
+
13
+ ### Added
14
+
15
+ - Added history-safety model 1 for changed destructive in-place advance
16
+ writes, including exact current-to-`HEAD` and stage-0 proof, retained-dirty
17
+ handling, source/repository race rejection, human-readable modification
18
+ time, byte-size, diff, and entity context, and stable `PTADV-*` diagnostics.
19
+ - Added the exact write-only `--force-history-loss` recovery option. It
20
+ bypasses only an initial history assessment and does not bypass governance,
21
+ warning policy, expected digests, races, validation, or atomic replacement.
22
+ - Added the complete `Perttool.AdvanceResult.v1` Draft 2020-12 artifact,
23
+ command/schema discovery, package APIs, and installed-package validation.
24
+
25
+ ### Changed
26
+
27
+ - Changed only `dag advance` from the closed published
28
+ `Perttool.MutationResult.v3` identity to `Perttool.AdvanceResult.v1`,
29
+ preserving every prior field and adding required nullable `history_guard`.
30
+ Direct, lifecycle, and batch mutations remain MutationResult v3; Grammar 5
31
+ and CLI Contract 6 remain active.
32
+ - Changed the package-root `AdvanceResult` alias to `AdvanceResultV1` and kept
33
+ `AdvanceResultV3` as a deprecated source-compatibility alias.
34
+
35
+ ### Fixed
36
+
37
+ - Made one eventful `dag advance` candidate own only the newly orphaned blank
38
+ separator prefixes in its terminal removed-declaration suffix. Preview,
39
+ separate output, and in-place write now produce the same repository-clean
40
+ bytes without a formatter or manual cleanup, while the history guard proves
41
+ the same expanded destructive ranges.
42
+
43
+ ## [0.5.5] - 2026-07-30
44
+
45
+ Compatible CLI Contract 6 and Grammar 5 beta patch. This version makes the
46
+ assertion-free first-preview workflow machine-visible without changing any
47
+ candidate, governance decision, persistent authority, command, option, result,
48
+ schema, or runtime payload identity.
49
+
50
+ ### Changed
51
+
52
+ - Added `PTGOV-104` as a non-blocking warning when a valid governed preview
53
+ already carries an owner-confirmation assertion. The candidate, governance
54
+ decision, default preview, and persistent authority remain unchanged;
55
+ existing `--warnings-as-errors` returns exit 1 while retaining the preview
56
+ result.
57
+
7
58
  ## [0.5.4] - 2026-07-30
8
59
 
9
60
  Compatible CLI Contract 6 and Grammar 5 beta patch. This version adds minimal
@@ -284,7 +335,9 @@ First public development preview. Intended to evaluate the DSL and CLI, read-onl
284
335
  - Not published to the npm registry; use the GitHub Release asset
285
336
  - Requires Node.js 24 or later
286
337
 
287
- [Unreleased]: https://github.com/mako10k/perttool/compare/v0.5.4...HEAD
338
+ [Unreleased]: https://github.com/mako10k/perttool/compare/v0.6.0...HEAD
339
+ [0.6.0]: https://github.com/mako10k/perttool/compare/v0.5.5...v0.6.0
340
+ [0.5.5]: https://github.com/mako10k/perttool/compare/v0.5.4...v0.5.5
288
341
  [0.5.4]: https://github.com/mako10k/perttool/compare/v0.5.3...v0.5.4
289
342
  [0.5.3]: https://github.com/mako10k/perttool/compare/v0.5.2...v0.5.3
290
343
  [0.5.2]: https://github.com/mako10k/perttool/compare/v0.5.1...v0.5.2
package/README.md CHANGED
@@ -5,16 +5,20 @@ It validates an Activity-on-Arrow plan, calculates precedence and
5
5
  resource-constrained schedules, recommends the next task, and applies
6
6
  source-preserving changes through preview-first commands.
7
7
 
8
- Version `0.5.4` beta implements Grammar 5 and CLI Contract 6,
8
+ Version `0.6.0` beta implements Grammar 5 and CLI Contract 6,
9
9
  including explicit task work events, lifecycle commands, read-only Git
10
10
  history, observed velocity, AnalysisResult v4, and NextResult v5. It adds
11
11
  complete Draft 2020-12 artifacts for every active Contract 6 result and the
12
12
  public OverrideDecision result, selectable full and outline schema views,
13
13
  Git 2.54 UTC compatibility, and scope-bound human-readable confirmation
14
- guidance. It also warns when an owner-confirmation assertion is supplied for
15
- a governance-not-applicable candidate. npm `beta` resolves to `0.5.4`; `latest`
16
- remains on the separately accepted `0.5.1`. Beta releases may contain
17
- breaking CLI or schema changes. Version `0.5.4` requires Node.js 22 or later.
14
+ guidance. It warns when an owner-confirmation assertion is supplied for a
15
+ governance-not-applicable candidate and when a governed preview already
16
+ carries one. It also protects destructive in-place `dag advance` writes with
17
+ exact `HEAD` and stage-0 evidence, returns `Perttool.AdvanceResult.v1`, and
18
+ keeps preview, separate output, and written candidates repository-clean and
19
+ byte-identical. npm `beta` resolves to `0.6.0`; npm `latest` remains `0.5.5`.
20
+ Beta releases may contain breaking CLI or schema changes. Version `0.6.0`
21
+ requires Node.js 22 or later.
18
22
  The complete-schema Contract 6 artifact remains available by pinning `0.5.2`,
19
23
  and the first machine-schema Contract 6 artifact remains available by pinning
20
24
  `0.5.1`; Contract 5, Contract 4, and Contract 3 remain available by pinning
@@ -26,19 +30,19 @@ dist-tag; historical `0.1.0-alpha.2` remains available by exact pin.
26
30
  Use `npx` for an occasional invocation and select Contract 6 explicitly:
27
31
 
28
32
  ```sh
29
- npx --yes --package=perttool@0.5.4 -- perttool --version
30
- npx --yes --package=perttool@0.5.4 -- perttool document check PLAN.pert
31
- npx --yes --package=perttool@0.5.4 -- perttool dag next PLAN.pert --format json
32
- npx --yes --package=perttool@0.5.4 -- perttool project history PLAN.pert --format json
33
+ npx --yes --package=perttool@0.6.0 -- perttool --version
34
+ npx --yes --package=perttool@0.6.0 -- perttool document check PLAN.pert
35
+ npx --yes --package=perttool@0.6.0 -- perttool dag next PLAN.pert --format json
36
+ npx --yes --package=perttool@0.6.0 -- perttool project history PLAN.pert --format json
33
37
  ```
34
38
 
35
39
  The equivalent explicit `npm exec` form is:
36
40
 
37
41
  ```sh
38
- npm exec --yes --package=perttool@0.5.4 -- perttool --version
39
- npm exec --yes --package=perttool@0.5.4 -- perttool document check PLAN.pert
40
- npm exec --yes --package=perttool@0.5.4 -- perttool dag analyze PLAN.pert
41
- npm exec --yes --package=perttool@0.5.4 -- perttool project history PLAN.pert --format json
42
+ npm exec --yes --package=perttool@0.6.0 -- perttool --version
43
+ npm exec --yes --package=perttool@0.6.0 -- perttool document check PLAN.pert
44
+ npm exec --yes --package=perttool@0.6.0 -- perttool dag analyze PLAN.pert
45
+ npm exec --yes --package=perttool@0.6.0 -- perttool project history PLAN.pert --format json
42
46
  ```
43
47
 
44
48
  `npx` and `npm exec` may download the selected package version into the npm
@@ -55,8 +59,9 @@ npm install --global perttool
55
59
  perttool --version
56
60
  ```
57
61
 
58
- npm `beta` resolves to Contract 6 `0.5.4`; `latest` remains on accepted
59
- Contract 6 `0.5.1`. The pre-schema Contract 6 artifact remains available as
62
+ npm `beta` resolves to Contract 6 `0.6.0`. npm `latest` and an unqualified
63
+ install remain on Contract 6 `0.5.5` until a separate promotion. The
64
+ pre-schema Contract 6 artifact remains available as
60
65
  `perttool@0.5.0`; Contract 5,
61
66
  Contract 4, and Contract 3 remain available as exact pins
62
67
  `perttool@0.4.0`, `perttool@0.3.0`, and `perttool@0.2.0`. The retired alpha
@@ -152,11 +157,32 @@ perttool task set PLAN.pert WORK \
152
157
  perttool task finish PLAN.pert WORK --diff
153
158
  perttool dag next PLAN.pert --format json
154
159
  perttool dag advance PLAN.pert --diff
160
+ perttool dag advance PLAN.pert \
161
+ --write \
162
+ --expect-digest 'sha256:...'
155
163
  ```
156
164
 
157
165
  All formatter and mutation commands preview by default. `--write` replaces the
158
166
  input through the safe-write path, while `--out` exclusively creates a new
159
- file. Gate maintenance uses the same controls:
167
+ file. A changed in-place `dag advance` additionally verifies removed or
168
+ replaced entity ranges against the target path in Git `HEAD` and the stage-0
169
+ index. Dirty ranges retained by the candidate are allowed; uncommitted
170
+ destructive overlap or unavailable proof returns `PTADV-101` without writing.
171
+ `Perttool.AdvanceResult.v1.history_guard` reports the status, modification
172
+ time, byte sizes, diff counts, and affected IDs before supplemental digests.
173
+ If the source, `HEAD`, or stage-0 index changes after assessment, `PTADV-102`
174
+ returns exit 5 without writing.
175
+ The exceptional `--force-history-loss` option bypasses only that initial
176
+ history block for the exact in-place request, emits `PTADV-103`, and does not
177
+ bypass governance, warnings-as-errors, expected digests, source/`HEAD`/index
178
+ rechecks, or atomic-write validation.
179
+ For a terminal sequence of removed tasks and task-owned work events, the same
180
+ candidate also removes only its newly orphaned blank separator prefixes. The
181
+ preview, separate output, and in-place write therefore remain byte-identical
182
+ and do not require a formatter or a second whitespace edit before
183
+ `git diff --check`.
184
+
185
+ Gate maintenance uses the same base controls:
160
186
 
161
187
  ```sh
162
188
  perttool gate add PLAN.pert APPROVAL NOW DONE \
@@ -205,7 +231,11 @@ next `dag advance`. See the
205
231
  If a valid candidate is not governance-applicable but still receives an owner
206
232
  assertion, `PTGOV-103` makes that likely boilerplate visible. It is a warning
207
233
  and does not change default write authority; `--warnings-as-errors` prevents
208
- the write.
234
+ the write. If a governed preview already carries an owner assertion,
235
+ `PTGOV-104` directs the caller back to an assertion-free first preview. Its
236
+ default preview still succeeds; `--warnings-as-errors` exits 1 while retaining
237
+ the candidate and governance decision. Persistent governed authority is
238
+ unchanged.
209
239
 
210
240
  Contract 5 previews may still omit actor and owner confirmation. A Contract 4
211
241
  runtime fails closed on Grammar 4 and governance options; there is no
@@ -364,12 +394,13 @@ identifier only: validation does not require network access. Consumers must
364
394
  select compatibility from each result's `schema_version`, not from
365
395
  `tool_version`. See the
366
396
  [JSON Schema Artifact Contract](docs/specs/json-schema.md) for the complete
367
- 18-result inventory and versioning rules.
397
+ 19-result inventory and versioning rules.
368
398
 
369
399
  ## LLM and automation use
370
400
 
371
- Use `--format json` for machine consumers. `0.5.4`, `0.5.3`, `0.5.2`,
372
- `0.5.1`, and `0.5.0` consumers must check `cli_contract_version == 6`;
401
+ Use `--format json` for machine consumers. `0.6.0`, `0.5.5`, `0.5.4`, `0.5.3`,
402
+ `0.5.2`, `0.5.1`, and `0.5.0` consumers must check
403
+ `cli_contract_version == 6`;
373
404
  consumers pinned to `0.4.0`
374
405
  must continue to require Contract 5, and consumers pinned to `0.3.0` must
375
406
  require Contract 4. Bundled machine-readable result artifacts require
@@ -377,6 +408,11 @@ require Contract 4. Bundled machine-readable result artifacts require
377
408
  Scope-bound, human-readable loose owner-confirmation guidance requires
378
409
  `0.5.3`.
379
410
  Runtime `PTGOV-103` visibility for unused owner assertions requires `0.5.4`.
411
+ Runtime `PTGOV-104` visibility for assertions on governed previews requires
412
+ `0.5.5`.
413
+ `Perttool.AdvanceResult.v1`, history-safety model 1, and the
414
+ repository-clean advance candidate require `0.6.0`; see the
415
+ [`0.5.5` to `0.6.0` migration](docs/process/0.5.5-to-0.6.0-migration.md).
380
416
  In every case, check the result-specific `schema_version` before reading the
381
417
  rest of a result.
382
418
  A complete, known, non-truncated `Perttool.NextResult.v5` with temporal policy
@@ -388,6 +424,8 @@ they are not new-start recommendations.
388
424
 
389
425
  Mutation JSON returns the candidate text, unified diff, UTF-16 text edits,
390
426
  source digest, updated digest, diagnostics, and write result in one envelope.
427
+ Direct, lifecycle, and batch mutations use `Perttool.MutationResult.v3`;
428
+ `dag advance` uses `Perttool.AdvanceResult.v1`.
391
429
  Unknown schema versions, incomplete recommendation traces, `PTREC-*`
392
430
  diagnostics, and future or unavailable temporal eligibility must fail closed.
393
431
 
@@ -396,6 +434,8 @@ diagnostics, and future or unavailable temporal eligibility must fail closed.
396
434
  - [Temporal and Unit Interface Contract (CLI Contract 4)](docs/specs/temporal-unit-interface.md)
397
435
  - [Owner-Aware Governance Interface Contract (CLI Contract 5)](docs/specs/governance-interface.md)
398
436
  - [Project Actuals and Git History Contract (CLI Contract 6)](docs/specs/project-actuals.md)
437
+ - [Advance History Safety Contract (ADV-001 target)](docs/specs/advance-history-safety.md)
438
+ - [Advance History Safety source acceptance](docs/process/advance-history-acceptance.md)
399
439
  - [JSON Schema Artifact Contract](docs/specs/json-schema.md)
400
440
  - [JSON Schema source acceptance](docs/process/json-schema-acceptance.md)
401
441
  - [Contract 5-to-6 migration](docs/process/cli-contract-6-migration.md)
@@ -0,0 +1,46 @@
1
+ import { type AdvanceHistoryBaselineCapture, type AdvanceHistoryBaselineDependencies, type AdvanceHistoryBaselineRecheck } from "../history/git-probe.js";
2
+ import type { TargetActualsAdvanceResultV3 } from "./target-actuals-advance.js";
3
+ export declare const ADVANCE_RESULT_SCHEMA_VERSION: "Perttool.AdvanceResult.v1";
4
+ export type AdvanceHistoryGuardStatus = "not_applicable" | "passed" | "blocked" | "forced";
5
+ export type AdvanceHistoryGuardCause = "preview" | "separate_output" | "no_change" | "no_destructive_records" | "authority_denied" | "warning_denied" | "baseline_matches" | "destructive_overlap" | "no_repository" | "no_head" | "untracked_target" | "ambiguous_path" | "unmerged_index" | "git_unavailable" | "baseline_read_failed" | "baseline_invalid" | "correspondence_missing" | "correspondence_ambiguous" | "forced_by_option";
6
+ export interface AdvanceHistoryGuardV1 {
7
+ readonly modelVersion: 1;
8
+ readonly status: AdvanceHistoryGuardStatus;
9
+ readonly cause: AdvanceHistoryGuardCause;
10
+ readonly repositorySnapshotId: string | null;
11
+ readonly repositoryRelativePath: string | null;
12
+ readonly headCommitId: string | null;
13
+ readonly sourceDigest: string;
14
+ readonly candidateDigest: string;
15
+ readonly sourceModifiedAt: string | null;
16
+ readonly sourceBytes: number;
17
+ readonly candidateBytes: number;
18
+ readonly diffAddedLines: number;
19
+ readonly diffRemovedLines: number;
20
+ readonly destructiveEntityIds: readonly string[];
21
+ readonly overlappingEntityIds: readonly string[];
22
+ readonly forceRequested: boolean;
23
+ }
24
+ export interface AdvanceResultV1 extends Omit<TargetActualsAdvanceResultV3, "schemaVersion"> {
25
+ readonly schemaVersion: typeof ADVANCE_RESULT_SCHEMA_VERSION;
26
+ readonly historyGuard: AdvanceHistoryGuardV1 | null;
27
+ }
28
+ export interface AdvanceHistoryPreparationOptions {
29
+ readonly mode: "preview" | "out" | "in_place";
30
+ readonly sourceBytes: Uint8Array;
31
+ readonly sourceModifiedAt: string | null;
32
+ readonly targetPath?: string;
33
+ readonly forceRequested?: boolean;
34
+ readonly warningDenied?: boolean;
35
+ readonly maxDiagnostics?: number;
36
+ readonly baselineDependencies?: AdvanceHistoryBaselineDependencies;
37
+ }
38
+ export interface PreparedAdvanceHistory {
39
+ readonly result: AdvanceResultV1;
40
+ readonly baseline: AdvanceHistoryBaselineCapture | null;
41
+ }
42
+ export declare function withPreviewAdvanceHistory(text: string, result: TargetActualsAdvanceResultV3): AdvanceResultV1;
43
+ export declare function prepareAdvanceHistory(text: string, result: TargetActualsAdvanceResultV3 | AdvanceResultV1, options: AdvanceHistoryPreparationOptions): Promise<PreparedAdvanceHistory>;
44
+ export declare function withAdvanceHistoryRace(result: AdvanceResultV1, recheck: AdvanceHistoryBaselineRecheck, maxDiagnostics?: number): AdvanceResultV1;
45
+ export declare function renderAdvanceHistoryGuard(value: AdvanceHistoryGuardV1): string;
46
+ //# sourceMappingURL=advance-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-history.d.ts","sourceRoot":"","sources":["../../src/application/advance-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ import { captureAdvanceHistoryBaseline, } from "../history/git-probe.js";
2
+ import { assessAdvanceHistorySafety, deriveAdvanceDestructiveRecords, } from "../history/advance-history.js";
3
+ import { documentContentFromBytes, digestDocumentBytes, } from "../io/document-file.js";
4
+ import { limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../model/diagnostics.js";
5
+ import { TARGET_GRAMMAR_5_CAPABILITY, } from "../parser/document-parser.js";
6
+ import { validateTargetGrammar5Document, } from "../semantic/target-validator.js";
7
+ export const ADVANCE_RESULT_SCHEMA_VERSION = "Perttool.AdvanceResult.v1";
8
+ function diffCounts(diff) {
9
+ let added = 0;
10
+ let removed = 0;
11
+ for (const line of (diff ?? "").split("\n")) {
12
+ if (line.startsWith("+") && !line.startsWith("+++"))
13
+ added += 1;
14
+ if (line.startsWith("-") && !line.startsWith("---"))
15
+ removed += 1;
16
+ }
17
+ return { added, removed };
18
+ }
19
+ function recordsFor(text, result) {
20
+ if (result.updatedText === null ||
21
+ result.updatedDigest === null ||
22
+ result.advance === null) {
23
+ return null;
24
+ }
25
+ const checked = validateTargetGrammar5Document(text, TARGET_GRAMMAR_5_CAPABILITY);
26
+ if (!checked.ok || checked.validatedDocument === null) {
27
+ throw new Error("advance history candidate has no validated original document");
28
+ }
29
+ return deriveAdvanceDestructiveRecords(text, checked.validatedDocument.document, result.advance);
30
+ }
31
+ function stableEntityIds(records) {
32
+ return Object.freeze([...new Set(records.map(({ entityId }) => entityId))].sort());
33
+ }
34
+ function guard(result, records, options, status, cause, overlappingEntityIds = [], baseline = null) {
35
+ if (result.updatedText === null || result.updatedDigest === null) {
36
+ throw new Error("advance history guard requires a candidate");
37
+ }
38
+ const counts = diffCounts(result.diff);
39
+ return Object.freeze({
40
+ modelVersion: 1,
41
+ status,
42
+ cause,
43
+ repositorySnapshotId: baseline?.repositorySnapshotId ?? null,
44
+ repositoryRelativePath: baseline?.repositoryRelativePath ?? null,
45
+ headCommitId: baseline?.headCommitId ?? null,
46
+ sourceDigest: result.originalDigest,
47
+ candidateDigest: result.updatedDigest,
48
+ sourceModifiedAt: baseline?.sourceModifiedAt ?? options.sourceModifiedAt,
49
+ sourceBytes: options.sourceBytes.byteLength,
50
+ candidateBytes: Buffer.byteLength(result.updatedText, "utf8"),
51
+ diffAddedLines: counts.added,
52
+ diffRemovedLines: counts.removed,
53
+ destructiveEntityIds: stableEntityIds(records),
54
+ overlappingEntityIds: Object.freeze([...overlappingEntityIds].sort()),
55
+ forceRequested: options.forceRequested ?? false,
56
+ });
57
+ }
58
+ function resultWithGuard(result, historyGuard, diagnostics = result.diagnostics, diagnosticsTruncated = result.diagnosticsTruncated, ok = result.ok) {
59
+ return Object.freeze({
60
+ ...result,
61
+ schemaVersion: ADVANCE_RESULT_SCHEMA_VERSION,
62
+ ok,
63
+ diagnostics,
64
+ diagnosticsTruncated,
65
+ historyGuard,
66
+ });
67
+ }
68
+ function historyDiagnostic(code, severity, message, data) {
69
+ return Object.freeze({
70
+ code,
71
+ severity,
72
+ message,
73
+ helpTopic: "editing",
74
+ data,
75
+ });
76
+ }
77
+ function appendDiagnostic(result, diagnostic, maximum, ok) {
78
+ const limited = limitDiagnostics(sortDiagnostics([...result.diagnostics, diagnostic]), maximum);
79
+ return resultWithGuard(result, result.historyGuard, limited.diagnostics, result.diagnosticsTruncated || limited.truncated, ok);
80
+ }
81
+ function baselineCause(cause) {
82
+ switch (cause) {
83
+ case "no_repository":
84
+ case "no_head":
85
+ case "untracked_target":
86
+ case "ambiguous_path":
87
+ case "unmerged_index":
88
+ case "git_unavailable":
89
+ case "baseline_read_failed":
90
+ case "correspondence_missing":
91
+ return cause;
92
+ case "target_changed":
93
+ case "head_changed":
94
+ case "index_changed":
95
+ case null:
96
+ return "baseline_read_failed";
97
+ }
98
+ }
99
+ function assessmentCause(cause) {
100
+ return cause;
101
+ }
102
+ function blockedResult(result, records, options, cause, overlappingEntityIds, baseline) {
103
+ const forced = options.forceRequested ?? false;
104
+ const withGuard = resultWithGuard(result, guard(result, records, options, forced ? "forced" : "blocked", forced ? "forced_by_option" : cause, overlappingEntityIds, baseline));
105
+ const diagnostic = forced
106
+ ? historyDiagnostic("PTADV-103", "warning", "advance history loss was explicitly forced", Object.freeze({
107
+ cause,
108
+ entity_ids: Object.freeze([
109
+ ...(overlappingEntityIds.length > 0
110
+ ? overlappingEntityIds
111
+ : stableEntityIds(records)),
112
+ ]),
113
+ }))
114
+ : historyDiagnostic("PTADV-101", "error", "advance history proof is blocked", Object.freeze({
115
+ cause,
116
+ entity_ids: Object.freeze([
117
+ ...(overlappingEntityIds.length > 0
118
+ ? overlappingEntityIds
119
+ : stableEntityIds(records)),
120
+ ]),
121
+ }));
122
+ return appendDiagnostic(withGuard, diagnostic, normalizeMaxDiagnostics(options.maxDiagnostics), forced && result.ok);
123
+ }
124
+ export function withPreviewAdvanceHistory(text, result) {
125
+ const sourceBytes = Buffer.from(text, "utf8");
126
+ const records = recordsFor(text, result);
127
+ return resultWithGuard(result, records === null
128
+ ? null
129
+ : guard(result, records, {
130
+ mode: "preview",
131
+ sourceBytes,
132
+ sourceModifiedAt: null,
133
+ }, "not_applicable", "preview"));
134
+ }
135
+ export async function prepareAdvanceHistory(text, result, options) {
136
+ if (digestDocumentBytes(options.sourceBytes) !== result.originalDigest) {
137
+ throw new Error("advance history source bytes do not match the plan");
138
+ }
139
+ const records = recordsFor(text, result);
140
+ if (records === null) {
141
+ return Object.freeze({
142
+ result: resultWithGuard(result, null),
143
+ baseline: null,
144
+ });
145
+ }
146
+ const notApplicable = (cause) => Object.freeze({
147
+ result: resultWithGuard(result, guard(result, records, options, "not_applicable", cause)),
148
+ baseline: null,
149
+ });
150
+ if (options.mode === "preview")
151
+ return notApplicable("preview");
152
+ if (options.mode === "out")
153
+ return notApplicable("separate_output");
154
+ if (!result.changed)
155
+ return notApplicable("no_change");
156
+ if (records.length === 0)
157
+ return notApplicable("no_destructive_records");
158
+ if (result.governance === null ||
159
+ !result.governance.writeAuthorized) {
160
+ return notApplicable("authority_denied");
161
+ }
162
+ if (options.warningDenied === true) {
163
+ return notApplicable("warning_denied");
164
+ }
165
+ if (options.targetPath === undefined) {
166
+ throw new Error("in-place advance history assessment requires a path");
167
+ }
168
+ const baseline = await captureAdvanceHistoryBaseline({
169
+ targetPath: options.targetPath,
170
+ expectedSourceDigest: result.originalDigest,
171
+ }, options.baselineDependencies);
172
+ if (baseline.status !== "complete") {
173
+ return Object.freeze({
174
+ result: blockedResult(result, records, options, baselineCause(baseline.cause), [], baseline),
175
+ baseline,
176
+ });
177
+ }
178
+ if (baseline.currentSource === null ||
179
+ baseline.headSource === null ||
180
+ baseline.indexSource === null ||
181
+ !Buffer.from(baseline.currentSource).equals(Buffer.from(options.sourceBytes))) {
182
+ return Object.freeze({
183
+ result: blockedResult(result, records, options, "baseline_invalid", [], baseline),
184
+ baseline,
185
+ });
186
+ }
187
+ let current;
188
+ let head;
189
+ try {
190
+ current = documentContentFromBytes(baseline.currentSource);
191
+ head = documentContentFromBytes(baseline.headSource);
192
+ }
193
+ catch {
194
+ return Object.freeze({
195
+ result: blockedResult(result, records, options, "baseline_invalid", [], baseline),
196
+ baseline,
197
+ });
198
+ }
199
+ const currentChecked = validateTargetGrammar5Document(current.text, TARGET_GRAMMAR_5_CAPABILITY);
200
+ const headChecked = validateTargetGrammar5Document(head.text, TARGET_GRAMMAR_5_CAPABILITY);
201
+ if (!currentChecked.ok ||
202
+ currentChecked.validatedDocument === null ||
203
+ !headChecked.ok ||
204
+ headChecked.validatedDocument === null) {
205
+ return Object.freeze({
206
+ result: blockedResult(result, records, options, "baseline_invalid", [], baseline),
207
+ baseline,
208
+ });
209
+ }
210
+ const assessed = assessAdvanceHistorySafety({
211
+ currentText: current.text,
212
+ currentDocument: currentChecked.validatedDocument.document,
213
+ currentSource: baseline.currentSource,
214
+ headText: head.text,
215
+ headDocument: headChecked.validatedDocument.document,
216
+ headSource: baseline.headSource,
217
+ indexSource: baseline.indexSource,
218
+ destructiveRecords: records,
219
+ });
220
+ if (assessed.status === "blocked") {
221
+ return Object.freeze({
222
+ result: blockedResult(result, records, options, assessmentCause(assessed.cause), assessed.overlappingEntityIds, baseline),
223
+ baseline,
224
+ });
225
+ }
226
+ return Object.freeze({
227
+ result: resultWithGuard(result, guard(result, records, options, "passed", "baseline_matches", [], baseline)),
228
+ baseline,
229
+ });
230
+ }
231
+ export function withAdvanceHistoryRace(result, recheck, maxDiagnostics) {
232
+ if (recheck.ok)
233
+ return result;
234
+ return appendDiagnostic(result, historyDiagnostic("PTADV-102", "error", "advance history baseline changed after assessment", Object.freeze({
235
+ cause: recheck.cause,
236
+ operation: recheck.operation,
237
+ })), normalizeMaxDiagnostics(maxDiagnostics), false);
238
+ }
239
+ function list(values) {
240
+ return values.length === 0 ? "-" : values.join(",");
241
+ }
242
+ export function renderAdvanceHistoryGuard(value) {
243
+ const head = value.headCommitId === null ? "-" : value.headCommitId.slice(0, 12);
244
+ return [
245
+ `HISTORY_GUARD status=${value.status} cause=${value.cause}`,
246
+ `HISTORY_TARGET path=${value.repositoryRelativePath ?? "-"} head=${head} modified_at=${value.sourceModifiedAt ?? "-"}`,
247
+ `HISTORY_CHANGE source_bytes=${value.sourceBytes} candidate_bytes=${value.candidateBytes} added_lines=${value.diffAddedLines} removed_lines=${value.diffRemovedLines}`,
248
+ `HISTORY_ENTITIES destructive=${list(value.destructiveEntityIds)} overlapping=${list(value.overlappingEntityIds)}`,
249
+ `HISTORY_FORCE requested=${value.forceRequested}`,
250
+ `HISTORY_DIGEST source=${value.sourceDigest} candidate=${value.candidateDigest} repository=${value.repositorySnapshotId ?? "-"}`,
251
+ "",
252
+ ].join("\n");
253
+ }
254
+ //# sourceMappingURL=advance-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-history.js","sourceRoot":"","sources":["../../src/application/advance-history.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { type FinishActualsMutation, type LifecycleMutation } from "../actuals/lifecycle.js";
2
2
  import type { GovernanceDecisionV1 } from "../governance/types.js";
3
3
  import type { BatchMutation, Mutation, MutationResult } from "../mutation/types.js";
4
- import { type TargetActualsAdvanceResultV3 } from "./target-actuals-advance.js";
4
+ import { type AdvanceResultV1 } from "./advance-history.js";
5
5
  import { type TargetActualsMutationOptions, type TargetActualsMutationResultV3 } from "./target-actuals-mutation.js";
6
6
  export interface MutationResultV3 extends MutationResult {
7
7
  readonly schemaVersion: "Perttool.MutationResult.v3";
8
8
  readonly governance: GovernanceDecisionV1 | null;
9
9
  readonly lifecycle: null;
10
10
  }
11
- export type AdvanceResultV3 = TargetActualsAdvanceResultV3;
11
+ /** @deprecated Use AdvanceResultV1 for the post-0.5.5 advance result. */
12
+ export type AdvanceResultV3 = AdvanceResultV1;
12
13
  export type LifecycleResultV3 = TargetActualsMutationResultV3;
13
14
  export declare function planMutation(text: string, mutation: Mutation, options?: TargetActualsMutationOptions): MutationResultV3;
14
15
  export declare function planBatchMutation(text: string, mutation: BatchMutation, options?: TargetActualsMutationOptions): MutationResultV3;
@@ -1 +1 @@
1
- {"version":3,"file":"contract6-mutation.d.ts","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAajC,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAER,cAAc,EACf,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAqQ9D,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,4BAAiC,GACzC,gBAAgB,CAOlB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,gBAAgB,CAOlB;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,4BAAiC,GACzC,eAAe,CAMjB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,4BAAiC,GACzC,iBAAiB,CAOnB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE,4BAAiC,GACzC,iBAAiB,CAOnB"}
1
+ {"version":3,"file":"contract6-mutation.d.ts","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAajC,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAER,cAAc,EACf,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAqQ9D,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,4BAAiC,GACzC,gBAAgB,CAOlB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,gBAAgB,CAOlB;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,4BAAiC,GACzC,eAAe,CASjB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,4BAAiC,GACzC,iBAAiB,CAOnB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE,4BAAiC,GACzC,iBAAiB,CAOnB"}
@@ -7,6 +7,7 @@ import { limitDiagnostics, normalizeMaxDiagnostics, sortDiagnostics, } from "../
7
7
  import { TARGET_GRAMMAR_5_CAPABILITY, } from "../parser/document-parser.js";
8
8
  import { validateTargetGrammar5Document, } from "../semantic/target-validator.js";
9
9
  import { planTargetActualsAdvance, } from "./target-actuals-advance.js";
10
+ import { withPreviewAdvanceHistory, } from "./advance-history.js";
10
11
  import { planTargetFinishActualsMutation, planTargetLifecycleMutation, } from "./target-actuals-mutation.js";
11
12
  import { planTargetGrammar5BatchMutation, planTargetGrammar5Mutation, } from "./target-mutate.js";
12
13
  function digest(text) {
@@ -162,7 +163,7 @@ export function planBatchMutation(text, mutation, options = {}) {
162
163
  return planOrdinary(text, mutation, true, options);
163
164
  }
164
165
  export function planAdvance(text, options = {}) {
165
- return planTargetActualsAdvance(text, TARGET_GRAMMAR_5_CAPABILITY, options);
166
+ return withPreviewAdvanceHistory(text, planTargetActualsAdvance(text, TARGET_GRAMMAR_5_CAPABILITY, options));
166
167
  }
167
168
  export function planLifecycle(text, mutation, options = {}) {
168
169
  return planTargetLifecycleMutation(text, mutation, TARGET_GRAMMAR_5_CAPABILITY, options);
@@ -1 +1 @@
1
- {"version":3,"file":"contract6-mutation.js","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract6-mutation.js","sourceRoot":"","sources":["../../src/application/contract6-mutation.ts"],"names":[],"mappings":"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"}