perttool 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -1
- package/README.md +113 -22
- package/dist/actuals/lifecycle.d.ts +6 -20
- package/dist/actuals/lifecycle.d.ts.map +1 -1
- package/dist/actuals/lifecycle.js +5 -176
- package/dist/actuals/lifecycle.js.map +1 -1
- package/dist/actuals/reduction.d.ts +20 -0
- package/dist/actuals/reduction.d.ts.map +1 -0
- package/dist/actuals/reduction.js +175 -0
- package/dist/actuals/reduction.js.map +1 -0
- package/dist/analysis/service.d.ts +33 -0
- package/dist/analysis/service.d.ts.map +1 -0
- package/dist/analysis/service.js +153 -0
- package/dist/analysis/service.js.map +1 -0
- package/dist/analysis/target-temporal-input.d.ts +88 -0
- package/dist/analysis/target-temporal-input.d.ts.map +1 -0
- package/dist/analysis/target-temporal-input.js +249 -0
- package/dist/analysis/target-temporal-input.js.map +1 -0
- package/dist/analysis/temporal-deadline.d.ts +1 -1
- package/dist/analysis/temporal-deadline.d.ts.map +1 -1
- package/dist/analysis/temporal-precedence.d.ts +1 -1
- package/dist/analysis/temporal-precedence.d.ts.map +1 -1
- package/dist/analysis/temporal-precedence.js +1 -1
- package/dist/analysis/temporal-precedence.js.map +1 -1
- package/dist/analysis/temporal-resource.d.ts +1 -1
- package/dist/analysis/temporal-resource.d.ts.map +1 -1
- package/dist/analysis/temporal-resource.js +1 -1
- package/dist/analysis/temporal-resource.js.map +1 -1
- package/dist/application/advance-history.d.ts +2 -1
- package/dist/application/advance-history.d.ts.map +1 -1
- package/dist/application/advance-history.js +1 -1
- package/dist/application/advance-history.js.map +1 -1
- package/dist/application/analyze.d.ts +1 -32
- package/dist/application/analyze.d.ts.map +1 -1
- package/dist/application/analyze.js +1 -152
- package/dist/application/analyze.js.map +1 -1
- package/dist/application/check.d.ts +1 -42
- package/dist/application/check.d.ts.map +1 -1
- package/dist/application/check.js +1 -109
- package/dist/application/check.js.map +1 -1
- package/dist/application/cli-facade.d.ts +85 -0
- package/dist/application/cli-facade.d.ts.map +1 -0
- package/dist/application/cli-facade.js +108 -0
- package/dist/application/cli-facade.js.map +1 -0
- package/dist/application/contract6-mutation.js +2 -2
- package/dist/application/contract6-mutation.js.map +1 -1
- package/dist/application/contract7-mermaid.d.ts.map +1 -1
- package/dist/application/contract7-mermaid.js +3 -3
- package/dist/application/contract7-mermaid.js.map +1 -1
- package/dist/application/contract7-source.d.ts +1 -7
- package/dist/application/contract7-source.d.ts.map +1 -1
- package/dist/application/contract7-source.js +4 -12
- package/dist/application/contract7-source.js.map +1 -1
- package/dist/application/editor-dag-focus.d.ts +52 -0
- package/dist/application/editor-dag-focus.d.ts.map +1 -0
- package/dist/application/editor-dag-focus.js +132 -0
- package/dist/application/editor-dag-focus.js.map +1 -0
- package/dist/application/format.js +2 -2
- package/dist/application/format.js.map +1 -1
- package/dist/application/mutate.d.ts +1 -26
- package/dist/application/mutate.d.ts.map +1 -1
- package/dist/application/mutate.js +1 -205
- package/dist/application/mutate.js.map +1 -1
- package/dist/application/next.js +2 -2
- package/dist/application/next.js.map +1 -1
- package/dist/application/target-actuals-advance.js +2 -2
- package/dist/application/target-actuals-advance.js.map +1 -1
- package/dist/application/target-actuals-analysis.js +2 -2
- package/dist/application/target-actuals-analysis.js.map +1 -1
- package/dist/application/target-actuals-mutation.d.ts.map +1 -1
- package/dist/application/target-actuals-mutation.js +6 -5
- package/dist/application/target-actuals-mutation.js.map +1 -1
- package/dist/application/target-assurance-analysis.js +2 -2
- package/dist/application/target-assurance-analysis.js.map +1 -1
- package/dist/application/target-assurance-write.d.ts +2 -1
- package/dist/application/target-assurance-write.d.ts.map +1 -1
- package/dist/application/target-assurance-write.js +36 -12
- package/dist/application/target-assurance-write.js.map +1 -1
- package/dist/application/target-governance-mutation.js +2 -2
- package/dist/application/target-governance-mutation.js.map +1 -1
- package/dist/application/target-historical-graph.d.ts +124 -0
- package/dist/application/target-historical-graph.d.ts.map +1 -0
- package/dist/application/target-historical-graph.js +547 -0
- package/dist/application/target-historical-graph.js.map +1 -0
- package/dist/application/target-mutate.d.ts +1 -17
- package/dist/application/target-mutate.d.ts.map +1 -1
- package/dist/application/target-mutate.js +1 -159
- package/dist/application/target-mutate.js.map +1 -1
- package/dist/application/target-project-history.d.ts +2 -1
- package/dist/application/target-project-history.d.ts.map +1 -1
- package/dist/application/target-project-history.js +4 -4
- package/dist/application/target-project-history.js.map +1 -1
- package/dist/application/target-temporal-analysis.js +2 -2
- package/dist/application/target-temporal-analysis.js.map +1 -1
- package/dist/application/target-temporal-input.d.ts +1 -87
- package/dist/application/target-temporal-input.d.ts.map +1 -1
- package/dist/application/target-temporal-input.js +1 -248
- package/dist/application/target-temporal-input.js.map +1 -1
- package/dist/application/target-unit-migration-candidate.js +4 -4
- package/dist/application/target-unit-migration-candidate.js.map +1 -1
- package/dist/assurance/advance.js +2 -2
- package/dist/assurance/advance.js.map +1 -1
- package/dist/assurance/canonical.js +2 -2
- package/dist/assurance/canonical.js.map +1 -1
- package/dist/assurance/compatibility.js +2 -2
- package/dist/assurance/compatibility.js.map +1 -1
- package/dist/assurance/mermaid.d.ts +4 -2
- package/dist/assurance/mermaid.d.ts.map +1 -1
- package/dist/assurance/mermaid.js +11 -7
- package/dist/assurance/mermaid.js.map +1 -1
- package/dist/assurance/mutation.d.ts.map +1 -1
- package/dist/assurance/mutation.js +9 -23
- package/dist/assurance/mutation.js.map +1 -1
- package/dist/cli.js +66 -26
- package/dist/cli.js.map +1 -1
- package/dist/command/assurance-discovery.d.ts.map +1 -1
- package/dist/command/assurance-discovery.js +73 -3
- package/dist/command/assurance-discovery.js.map +1 -1
- package/dist/command/assurance-usage.d.ts.map +1 -1
- package/dist/command/assurance-usage.js +11 -0
- package/dist/command/assurance-usage.js.map +1 -1
- package/dist/conversion/mermaid-import.js +3 -3
- package/dist/conversion/mermaid-import.js.map +1 -1
- package/dist/conversion/mermaid.d.ts +1 -1
- package/dist/conversion/mermaid.d.ts.map +1 -1
- package/dist/conversion/mermaid.js +4 -4
- package/dist/conversion/mermaid.js.map +1 -1
- package/dist/core/index.d.ts +33 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/source.d.ts +8 -0
- package/dist/core/source.d.ts.map +1 -0
- package/dist/core/source.js +11 -0
- package/dist/core/source.js.map +1 -0
- package/dist/formatter/source-formatter.d.ts +1 -1
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +1 -1
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/guidance/validator.js +2 -2
- package/dist/guidance/validator.js.map +1 -1
- package/dist/help/assurance-guide.d.ts.map +1 -1
- package/dist/help/assurance-guide.js +209 -19
- package/dist/help/assurance-guide.js.map +1 -1
- package/dist/history/git-probe.d.ts +71 -0
- package/dist/history/git-probe.d.ts.map +1 -1
- package/dist/history/git-probe.js +517 -0
- package/dist/history/git-probe.js.map +1 -1
- package/dist/history/historical-graph.d.ts +174 -0
- package/dist/history/historical-graph.d.ts.map +1 -0
- package/dist/history/historical-graph.js +870 -0
- package/dist/history/historical-graph.js.map +1 -0
- package/dist/history/historical-transition.d.ts +311 -0
- package/dist/history/historical-transition.d.ts.map +1 -0
- package/dist/history/historical-transition.js +998 -0
- package/dist/history/historical-transition.js.map +1 -0
- package/dist/history/project-history.d.ts.map +1 -1
- package/dist/history/project-history.js +4 -4
- package/dist/history/project-history.js.map +1 -1
- package/dist/history/velocity-observation.js +1 -1
- package/dist/history/velocity-observation.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/io/document-file.js +2 -2
- package/dist/io/document-file.js.map +1 -1
- package/dist/io/safe-write.js +1 -1
- package/dist/io/safe-write.js.map +1 -1
- package/dist/model/sha256.d.ts +5 -0
- package/dist/model/sha256.d.ts.map +1 -0
- package/dist/model/sha256.js +105 -0
- package/dist/model/sha256.js.map +1 -0
- package/dist/mutation/advance.js +3 -3
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/diagnostics.d.ts +2 -2
- package/dist/mutation/diagnostics.d.ts.map +1 -1
- package/dist/mutation/diagnostics.js.map +1 -1
- package/dist/mutation/planner.d.ts +27 -0
- package/dist/mutation/planner.d.ts.map +1 -0
- package/dist/mutation/planner.js +206 -0
- package/dist/mutation/planner.js.map +1 -0
- package/dist/mutation/source.d.ts +2 -1
- package/dist/mutation/source.d.ts.map +1 -1
- package/dist/mutation/source.js +14 -0
- package/dist/mutation/source.js.map +1 -1
- package/dist/mutation/target-planner.d.ts +18 -0
- package/dist/mutation/target-planner.d.ts.map +1 -0
- package/dist/mutation/target-planner.js +160 -0
- package/dist/mutation/target-planner.js.map +1 -0
- package/dist/mutation/task.d.ts.map +1 -1
- package/dist/mutation/task.js +19 -11
- package/dist/mutation/task.js.map +1 -1
- package/dist/mutation/types.d.ts +1 -1
- package/dist/mutation/types.d.ts.map +1 -1
- package/dist/node/historical-host.d.ts +6 -0
- package/dist/node/historical-host.d.ts.map +1 -0
- package/dist/node/historical-host.js +8 -0
- package/dist/node/historical-host.js.map +1 -0
- package/dist/node/host.d.ts +3 -0
- package/dist/node/host.d.ts.map +1 -0
- package/dist/node/host.js +48 -0
- package/dist/node/host.js.map +1 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +2 -0
- package/dist/node/index.js.map +1 -0
- package/dist/perttool-vscode-private-0.0.0-d1578b9.vsix +0 -0
- package/dist/ports/node-host.d.ts +41 -0
- package/dist/ports/node-host.d.ts.map +1 -0
- package/dist/ports/node-host.js +2 -0
- package/dist/ports/node-host.js.map +1 -0
- package/dist/recommendation/override.d.ts +40 -2
- package/dist/recommendation/override.d.ts.map +1 -1
- package/dist/recommendation/override.js +5 -6
- package/dist/recommendation/override.js.map +1 -1
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +1 -0
- package/dist/schema/registry.js.map +1 -1
- package/dist/semantic/check.d.ts +43 -0
- package/dist/semantic/check.d.ts.map +1 -0
- package/dist/semantic/check.js +110 -0
- package/dist/semantic/check.js.map +1 -0
- package/dist/session/document-session.d.ts +109 -0
- package/dist/session/document-session.d.ts.map +1 -0
- package/dist/session/document-session.js +432 -0
- package/dist/session/document-session.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +18 -4
- package/schemas/Perttool.HistoricalGraphResult.v1.schema.json +654 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,58 @@ This project records its notable changes here. The format is based on [Keep a Ch
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.8.0] - 2026-08-07
|
|
8
|
+
|
|
9
|
+
Additive Grammar 6 and CLI Contract 7 beta minor. This version publishes the
|
|
10
|
+
adapter-platform library boundary, read-only historical DAG reconstruction,
|
|
11
|
+
and the declaration-identity correction.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added the read-only `dag history` command with bounded inclusive Git revision
|
|
16
|
+
inputs, explicit first-parent scope, snapshot, proved-lineage, and timeline
|
|
17
|
+
views, optional single-checkpoint analysis, immutable source bindings,
|
|
18
|
+
`Perttool.HistoricalGraphResult.v1`, and the `historical-dag` Guide topic.
|
|
19
|
+
Three-way ancestry remains fail-closed and release selection remains
|
|
20
|
+
separate.
|
|
21
|
+
- Added source-package `perttool/core` and `perttool/node` subpath exports.
|
|
22
|
+
Core provides a closed platform-neutral Grammar 6 source, graph-analysis,
|
|
23
|
+
exact-arithmetic, diagnostic, Help, Guide, and projection surface; Node is
|
|
24
|
+
reference-identical to the 122-name package-root facade.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Increased the Contract 7 registry from 44 to 45 commands, the root schema
|
|
29
|
+
catalog from 20 to 21 identities, and the root facade from 121 to 122 runtime
|
|
30
|
+
exports without changing Grammar or CLI Contract versions.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- Made task insertion, mutation, lifecycle, and LSP definition distinguish a
|
|
35
|
+
task declaration from its same-ID `plan_seal` while preserving existing
|
|
36
|
+
valid noncanonical source order.
|
|
37
|
+
|
|
38
|
+
## [0.7.1] - 2026-08-05
|
|
39
|
+
|
|
40
|
+
Compatible Grammar 6 and CLI Contract 7 beta patch. This version corrects
|
|
41
|
+
installed Help, Guide, and diagnostic navigation without changing command,
|
|
42
|
+
option, result, schema, payload-structure, package-root, or authority
|
|
43
|
+
identities.
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- Corrected the active Guide to state Grammar 6, AnalysisResult v5,
|
|
48
|
+
NextResult v6, and the combined release, temporal, and plan-assurance start
|
|
49
|
+
authority directly while preserving additive version history.
|
|
50
|
+
- Made every registered Help example pass active argument validation,
|
|
51
|
+
including complete operands and required options for all eight assurance
|
|
52
|
+
mutation commands.
|
|
53
|
+
- Made every literal runtime diagnostic topic resolvable, specified and
|
|
54
|
+
directly tested `PTCNV-210`, and added bounded reciprocal navigation for
|
|
55
|
+
the plan-assurance Guide topic.
|
|
56
|
+
- Reconciled current and historical documentation labels without rewriting
|
|
57
|
+
time-bound release evidence.
|
|
58
|
+
|
|
7
59
|
## [0.7.0] - 2026-08-04
|
|
8
60
|
|
|
9
61
|
Grammar 6 and CLI Contract 7 beta minor. This version adds conditional plan
|
|
@@ -367,7 +419,9 @@ First public development preview. Intended to evaluate the DSL and CLI, read-onl
|
|
|
367
419
|
- Not published to the npm registry; use the GitHub Release asset
|
|
368
420
|
- Requires Node.js 24 or later
|
|
369
421
|
|
|
370
|
-
[Unreleased]: https://github.com/mako10k/perttool/compare/v0.
|
|
422
|
+
[Unreleased]: https://github.com/mako10k/perttool/compare/v0.8.0...HEAD
|
|
423
|
+
[0.8.0]: https://github.com/mako10k/perttool/compare/v0.7.1...v0.8.0
|
|
424
|
+
[0.7.1]: https://github.com/mako10k/perttool/compare/v0.7.0...v0.7.1
|
|
371
425
|
[0.7.0]: https://github.com/mako10k/perttool/compare/v0.6.0...v0.7.0
|
|
372
426
|
[0.6.0]: https://github.com/mako10k/perttool/compare/v0.5.5...v0.6.0
|
|
373
427
|
[0.5.5]: https://github.com/mako10k/perttool/compare/v0.5.4...v0.5.5
|
package/README.md
CHANGED
|
@@ -16,43 +16,68 @@ governance-not-applicable candidate and when a governed preview already
|
|
|
16
16
|
carries one. It also protects destructive in-place `dag advance` writes with
|
|
17
17
|
exact `HEAD` and stage-0 evidence, returns `Perttool.AdvanceResult.v1`, and
|
|
18
18
|
keeps preview, separate output, and written candidates repository-clean and
|
|
19
|
-
byte-identical. It remains
|
|
20
|
-
|
|
19
|
+
byte-identical. It remains available as the exact Contract 6 compatibility
|
|
20
|
+
pin `perttool@0.6.0`.
|
|
21
21
|
Beta releases may contain breaking CLI or schema changes.
|
|
22
22
|
|
|
23
23
|
Version `0.7.0` beta atomically activates Grammar 6 and CLI Contract 7
|
|
24
24
|
conditional plan assurance. It exposes 44 commands, 20 root schemas,
|
|
25
25
|
`Perttool.PlanAssuranceResult.v1`, assurance-aware Check/Project/Analysis/Next/
|
|
26
26
|
Mutation/Advance results, `Perttool.GovernanceDecision.v2`, and Mermaid
|
|
27
|
-
semantic profile 2. Its package and CLI identity is `0.7.0
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
semantic profile 2. Its package and CLI identity is `0.7.0`. At its publication
|
|
28
|
+
boundary, this release does not move npm `latest` from Contract 6 `0.6.0`;
|
|
29
|
+
one separately authorized post-publication operation later made
|
|
30
|
+
`beta=latest=0.7.0`. These Contract 6 and Contract 7 releases require Node.js
|
|
31
|
+
22 or later.
|
|
32
|
+
Version `0.7.1` is a backward-compatible Contract 7 patch that corrects the
|
|
33
|
+
installed Guide, command Help examples, and diagnostic navigation. It retains
|
|
34
|
+
all 44 command paths, 20 root schemas, result and payload identities,
|
|
35
|
+
package-root exports, and authority policies. Its beta publication does not
|
|
36
|
+
move npm `latest`; one separately authorized post-publication operation later
|
|
37
|
+
made `beta=latest=0.7.1`. Version `0.7.0` remains the exact rollback pin.
|
|
31
38
|
The complete-schema Contract 6 artifact remains available by pinning `0.5.2`,
|
|
32
39
|
and the first machine-schema Contract 6 artifact remains available by pinning
|
|
33
40
|
`0.5.1`; Contract 5, Contract 4, and Contract 3 remain available by pinning
|
|
34
41
|
`0.4.0`, `0.3.0`, and `0.2.0`, respectively. npm has no maintained `alpha`
|
|
35
42
|
dist-tag; historical `0.1.0-alpha.2` remains available by exact pin.
|
|
36
43
|
|
|
44
|
+
Version `0.8.0` adds the public `perttool/core` and `perttool/node` subpaths,
|
|
45
|
+
the read-only `dag history` command, `Perttool.HistoricalGraphResult.v1`, and
|
|
46
|
+
the declaration-identity correction without changing Grammar 6 or CLI
|
|
47
|
+
Contract 7. It exposes 45 commands, 21 root schemas, 122 reference-identical
|
|
48
|
+
root and Node runtime exports, and 45 portable Core runtime exports. Its beta
|
|
49
|
+
publication moves only npm `beta` and leaves independently managed
|
|
50
|
+
`latest=0.7.1`; use `0.7.1` as the exact rollback pin.
|
|
51
|
+
The repository-only VSIX also adds separately negotiated historical snapshot,
|
|
52
|
+
proved-lineage, and timeline views for trusted local Git workspaces plus
|
|
53
|
+
verified read-only immutable source navigation. Those adapter results are not
|
|
54
|
+
CLI schemas or public package exports, and no public VSIX release is selected.
|
|
55
|
+
The private DAG presentation additionally bundles a deterministic left-to-right
|
|
56
|
+
Dagre layout, one-step historical defaults, bounded zoom/fit/scroll/pan, and a
|
|
57
|
+
separately negotiated exact current-frontier and NextResult v6 start-authority
|
|
58
|
+
focus result. Compact `Mnn`/`Tnn`/`Gnn` graph labels link to original-identity
|
|
59
|
+
details, and exact residual, resource-remaining, and task-time summaries keep
|
|
60
|
+
qualified Point forecasts distinct. Layout never becomes project semantics.
|
|
61
|
+
|
|
37
62
|
## Run without installing
|
|
38
63
|
|
|
39
64
|
After beta publication, use `npx` for an occasional Contract 7 invocation and
|
|
40
65
|
select the version explicitly:
|
|
41
66
|
|
|
42
67
|
```sh
|
|
43
|
-
npx --yes --package=perttool@0.
|
|
44
|
-
npx --yes --package=perttool@0.
|
|
45
|
-
npx --yes --package=perttool@0.
|
|
46
|
-
npx --yes --package=perttool@0.
|
|
68
|
+
npx --yes --package=perttool@0.8.0 -- perttool --version
|
|
69
|
+
npx --yes --package=perttool@0.8.0 -- perttool document check PLAN.pert
|
|
70
|
+
npx --yes --package=perttool@0.8.0 -- perttool dag next PLAN.pert --format json
|
|
71
|
+
npx --yes --package=perttool@0.8.0 -- perttool dag history PLAN.pert --rev HEAD --format json
|
|
47
72
|
```
|
|
48
73
|
|
|
49
74
|
The equivalent explicit `npm exec` form is:
|
|
50
75
|
|
|
51
76
|
```sh
|
|
52
|
-
npm exec --yes --package=perttool@0.
|
|
53
|
-
npm exec --yes --package=perttool@0.
|
|
54
|
-
npm exec --yes --package=perttool@0.
|
|
55
|
-
npm exec --yes --package=perttool@0.
|
|
77
|
+
npm exec --yes --package=perttool@0.8.0 -- perttool --version
|
|
78
|
+
npm exec --yes --package=perttool@0.8.0 -- perttool document check PLAN.pert
|
|
79
|
+
npm exec --yes --package=perttool@0.8.0 -- perttool dag analyze PLAN.pert
|
|
80
|
+
npm exec --yes --package=perttool@0.8.0 -- perttool plan-assurance hash PLAN.pert WORK --kind contract
|
|
56
81
|
```
|
|
57
82
|
|
|
58
83
|
`npx` and `npm exec` may download the selected package version into the npm
|
|
@@ -62,21 +87,65 @@ Contract 3.
|
|
|
62
87
|
|
|
63
88
|
## Install
|
|
64
89
|
|
|
65
|
-
Install the Contract 7 CLI globally by exact version when it is used
|
|
90
|
+
Install the additive Contract 7 CLI globally by exact version when it is used
|
|
91
|
+
regularly:
|
|
66
92
|
|
|
67
93
|
```sh
|
|
68
|
-
npm install --global perttool@0.
|
|
94
|
+
npm install --global perttool@0.8.0
|
|
69
95
|
perttool --version
|
|
70
96
|
```
|
|
71
97
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
98
|
+
The `0.8.0` release procedure publishes only npm `beta` and leaves the
|
|
99
|
+
independently managed `latest` tag at `0.7.1`. Select `0.8.0` explicitly for
|
|
100
|
+
the new public subpaths and historical DAG command; an unqualified install
|
|
101
|
+
continues to select `0.7.1` unless a later operation separately promotes
|
|
102
|
+
`latest`.
|
|
103
|
+
Contract 6 remains available by exact pinning `perttool@0.6.0`; the pre-schema
|
|
104
|
+
Contract 6 artifact remains available as
|
|
105
|
+
`perttool@0.5.0`. Contract 5,
|
|
75
106
|
Contract 4, and Contract 3 remain available as exact pins
|
|
76
107
|
`perttool@0.4.0`, `perttool@0.3.0`, and `perttool@0.2.0`. The retired alpha
|
|
77
108
|
preview remains installable only as the exact pin
|
|
78
109
|
`perttool@0.1.0-alpha.2`.
|
|
79
110
|
|
|
111
|
+
## Library subpaths in `0.8.0`
|
|
112
|
+
|
|
113
|
+
Version `0.8.0` provides two additive library boundaries:
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
import {
|
|
117
|
+
analyzeDocumentSnapshot,
|
|
118
|
+
createDocumentSession,
|
|
119
|
+
createDocumentSnapshot,
|
|
120
|
+
documentOffsetToPosition,
|
|
121
|
+
documentPositionToOffset,
|
|
122
|
+
formatDocument,
|
|
123
|
+
getGuide,
|
|
124
|
+
parseDocument,
|
|
125
|
+
validateDocument,
|
|
126
|
+
} from "perttool/core";
|
|
127
|
+
import {
|
|
128
|
+
getJsonSchemaCatalog,
|
|
129
|
+
readDocumentFile,
|
|
130
|
+
} from "perttool/node";
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
`perttool/core` is the closed platform-neutral Grammar 6 source, graph,
|
|
134
|
+
exact-arithmetic, diagnostic, Help, Guide, projection, and document-session
|
|
135
|
+
surface. Immutable snapshots and sessions bind exact URI, generation, version,
|
|
136
|
+
text digest, parse/semantic state, UTF-16 positions, analysis options, and
|
|
137
|
+
cancellation-safe caches without filesystem or editor access. The caller
|
|
138
|
+
supplies the SHA-256 function. Its runtime closure has no Node builtin or
|
|
139
|
+
external package. `perttool/node` exposes the same 122 runtime values as the
|
|
140
|
+
existing `perttool` root, including file, schema, Git, hashing, and safe-write
|
|
141
|
+
APIs that still require Node.js 22 or later. Bundled JSON artifacts remain
|
|
142
|
+
available through `perttool/schemas/<schema-id>.schema.json`.
|
|
143
|
+
|
|
144
|
+
These subpaths are absent from the `0.7.1` rollback package. See the
|
|
145
|
+
[Shared Library Boundary](docs/specs/shared-library.md).
|
|
146
|
+
The protocol-neutral state contract is the
|
|
147
|
+
[Document Session Core](docs/specs/document-session.md).
|
|
148
|
+
|
|
80
149
|
## Plan files
|
|
81
150
|
|
|
82
151
|
A `.pert` file is the source of truth and is intended to remain directly
|
|
@@ -385,6 +454,7 @@ new-start authority from unsealed, review-required, or unavailable plans.
|
|
|
385
454
|
| Analyze schedules | `perttool dag analyze <file>` |
|
|
386
455
|
| Select next work | `perttool dag next <file>` |
|
|
387
456
|
| Remove completed history | `perttool dag advance <file>` |
|
|
457
|
+
| Reconstruct committed DAG history | `perttool dag history <file> ...` |
|
|
388
458
|
| Inspect plan assurance | `perttool plan-assurance show|hash <file> ...` |
|
|
389
459
|
| Seal or reseal reviewed plans | `perttool plan-assurance seal|reseal <file> ...` |
|
|
390
460
|
| Maintain planning dependencies | `perttool plan-dependency add|set|remove` |
|
|
@@ -404,10 +474,12 @@ domain concepts. Both run without a document:
|
|
|
404
474
|
```sh
|
|
405
475
|
perttool task set --help
|
|
406
476
|
perttool help dag next --format json
|
|
477
|
+
perttool help dag history --format json
|
|
407
478
|
perttool schema --format json
|
|
408
479
|
perttool schema Perttool.NextResult.v6 --format json
|
|
409
480
|
perttool schema Perttool.NextResult.v6 --view outline --format json
|
|
410
481
|
perttool guide editing --level detail --format json
|
|
482
|
+
perttool guide historical-dag --level detail --format json
|
|
411
483
|
```
|
|
412
484
|
|
|
413
485
|
### JSON Schema artifacts
|
|
@@ -437,12 +509,13 @@ against the bundled `Perttool.Common.v1.schema.json`. The stable `$id` is an
|
|
|
437
509
|
identifier only: validation does not require network access. Consumers must
|
|
438
510
|
select compatibility from each result's `schema_version`, not from
|
|
439
511
|
`tool_version`. See the
|
|
440
|
-
[JSON Schema Artifact Contract](docs/specs/json-schema.md) for the
|
|
441
|
-
|
|
512
|
+
[JSON Schema Artifact Contract](docs/specs/json-schema.md) for the current
|
|
513
|
+
21-root source inventory and versioning rules.
|
|
442
514
|
|
|
443
515
|
## LLM and automation use
|
|
444
516
|
|
|
445
|
-
Use `--format json` for machine consumers.
|
|
517
|
+
Use `--format json` for machine consumers. Versions `0.7.0`, `0.7.1`, and
|
|
518
|
+
`0.8.0` require
|
|
446
519
|
`cli_contract_version == 7`. Published `0.6.0`, `0.5.5`, `0.5.4`, `0.5.3`,
|
|
447
520
|
`0.5.2`, `0.5.1`, and `0.5.0` consumers must check
|
|
448
521
|
`cli_contract_version == 6`;
|
|
@@ -463,6 +536,9 @@ assurance-aware result identities; see the
|
|
|
463
536
|
[`0.6.0` to `0.7.0` migration](docs/process/0.6.0-to-0.7.0-migration.md).
|
|
464
537
|
In every case, check the result-specific `schema_version` before reading the
|
|
465
538
|
rest of a result.
|
|
539
|
+
Version `0.8.0` adds `dag history`, `Perttool.HistoricalGraphResult.v1`, and
|
|
540
|
+
the Core and Node subpaths without changing CLI Contract 7; see the
|
|
541
|
+
[`0.7.1` to `0.8.0` migration](docs/process/0.7.1-to-0.8.0-migration.md).
|
|
466
542
|
A complete, known, non-truncated `Perttool.NextResult.v6` with policy
|
|
467
543
|
`recommendation_v1_plus_release_gate_plus_plan_assurance_v1` is required for
|
|
468
544
|
the current source. Start only task IDs in
|
|
@@ -491,7 +567,18 @@ diagnostics, and future or unavailable temporal eligibility must fail closed.
|
|
|
491
567
|
- [Conditional Plan Assurance public-contract acceptance](docs/process/plan-assurance-public-contract-acceptance.md)
|
|
492
568
|
- [`0.6.0` to `0.7.0` migration](docs/process/0.6.0-to-0.7.0-migration.md)
|
|
493
569
|
- [`v0.7.0` release procedure](docs/process/0.7.0-release.md)
|
|
570
|
+
- [`v0.7.1` Help and Guide consistency patch procedure](docs/process/0.7.1-release.md)
|
|
571
|
+
- [`0.7.1` to `0.8.0` migration](docs/process/0.7.1-to-0.8.0-migration.md)
|
|
572
|
+
- [`v0.8.0` release procedure](docs/process/0.8.0-release.md)
|
|
494
573
|
- [Conditional Plan Assurance interface acceptance](docs/process/plan-assurance-interface-acceptance.md)
|
|
574
|
+
- [Shared Library Boundary](docs/specs/shared-library.md)
|
|
575
|
+
- [Editor Protocol Contract](docs/specs/editor-protocol.md)
|
|
576
|
+
- [Historical Editor Protocol Contract](docs/specs/historical-editor-protocol.md)
|
|
577
|
+
- [DAG Presentation and Focus Contract](docs/specs/dag-presentation.md)
|
|
578
|
+
- [DAG presentation and focus acceptance](docs/process/dag-presentation-acceptance.md)
|
|
579
|
+
- [DAG Compact Labels and Exact Time Summary Contract](docs/specs/dag-compact-presentation.md)
|
|
580
|
+
- [DAG compact presentation acceptance](docs/process/dag-compact-presentation-acceptance.md)
|
|
581
|
+
- [Document Session Core](docs/specs/document-session.md)
|
|
495
582
|
- [Conditional Plan Assurance internal hash Core acceptance](docs/process/plan-assurance-hash-core-acceptance.md)
|
|
496
583
|
- [Conditional Plan Assurance internal source Core acceptance](docs/process/plan-assurance-source-core-acceptance.md)
|
|
497
584
|
- [Conditional Plan Assurance internal mutation Core acceptance](docs/process/plan-assurance-mutation-core-acceptance.md)
|
|
@@ -501,6 +588,10 @@ diagnostics, and future or unavailable temporal eligibility must fail closed.
|
|
|
501
588
|
- [Conditional Plan Assurance internal hash inspection acceptance](docs/process/plan-assurance-hash-inspection-acceptance.md)
|
|
502
589
|
- [Conditional Plan Assurance design review](docs/process/plan-assurance-design-review.md)
|
|
503
590
|
- [Conditional Plan Assurance implementation plan](plans/plan-assurance.pert)
|
|
591
|
+
- [Help and Guide consistency correction](docs/specs/help-guide-consistency.md)
|
|
592
|
+
- [Help and Guide consistency implementation plan](plans/help-guide-consistency.pert)
|
|
593
|
+
- [`v0.7.1` release plan](plans/release-0.7.1.pert)
|
|
594
|
+
- [`v0.8.0` release plan](plans/release-0.8.0.pert)
|
|
504
595
|
- [JSON Schema Artifact Contract](docs/specs/json-schema.md)
|
|
505
596
|
- [JSON Schema source acceptance](docs/process/json-schema-acceptance.md)
|
|
506
597
|
- [Contract 5-to-6 migration](docs/process/cli-contract-6-migration.md)
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { Diagnostic
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export type
|
|
7
|
-
export type ActualsCoverage = "complete" | "open" | "finish_only" | "unrecorded" | "unavailable";
|
|
1
|
+
import type { Diagnostic } from "../model/diagnostics.js";
|
|
2
|
+
import type { WorkEventKind } from "../model/syntax.js";
|
|
3
|
+
import { actualsDiagnostic } from "./reduction.js";
|
|
4
|
+
export { reduceTaskLifecycle, taskStatus, taskStatusSpan, validateStoredLifecycleState, } from "./reduction.js";
|
|
5
|
+
export { actualsDiagnostic };
|
|
6
|
+
export type { ActualsCoverage, LifecycleReduction, TaskLifecycleState, } from "./reduction.js";
|
|
8
7
|
export interface LifecycleEventInput {
|
|
9
8
|
readonly id?: string;
|
|
10
9
|
readonly occurredAt: string;
|
|
@@ -82,20 +81,7 @@ export interface FinishActualsRequestNormalization {
|
|
|
82
81
|
readonly request: NormalizedFinishActualsRequest | null;
|
|
83
82
|
readonly diagnostics: readonly Diagnostic[];
|
|
84
83
|
}
|
|
85
|
-
export interface LifecycleReduction {
|
|
86
|
-
readonly ok: boolean;
|
|
87
|
-
readonly coverage: ActualsCoverage;
|
|
88
|
-
readonly state: "active" | "suspended" | "done" | null;
|
|
89
|
-
readonly derivedActiveTime: Rational | null;
|
|
90
|
-
readonly diagnostics: readonly Diagnostic[];
|
|
91
|
-
}
|
|
92
|
-
export declare function actualsDiagnostic(code: "PTACT-104" | "PTACT-105" | "PTACT-106" | "PTACT-107" | "PTACT-108", message: string, cause: string, entityId: string | null, span?: SourceSpan, data?: Readonly<Record<string, unknown>>): Diagnostic;
|
|
93
84
|
export declare function deriveWorkEventId(taskId: string, kind: WorkEventKind, canonicalOccurredAt: string): string;
|
|
94
85
|
export declare function normalizeLifecycleMutationRequest(input: unknown): LifecycleMutationRequestNormalization;
|
|
95
86
|
export declare function normalizeFinishActualsRequest(input: unknown): FinishActualsRequestNormalization;
|
|
96
|
-
export declare function reduceTaskLifecycle(events: readonly ActualWorkEvent[]): LifecycleReduction;
|
|
97
|
-
export declare function taskStatus(task: DeclarationNode<TargetDeclarationKind>): TaskLifecycleState;
|
|
98
|
-
export declare function taskStatusSpan(task: DeclarationNode<TargetDeclarationKind>): SourceSpan;
|
|
99
|
-
export declare function validateStoredLifecycleState(validated: TargetGrammar5ValidatedDocument): readonly Diagnostic[];
|
|
100
|
-
export {};
|
|
101
87
|
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/actuals/lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/actuals/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { sha256HexUtf8 } from "../model/sha256.js";
|
|
2
2
|
import { canonicalizeEventDateTimeSourceToken, } from "../model/calendar.js";
|
|
3
|
-
import { instantKey } from "../model/calendar-arithmetic.js";
|
|
4
|
-
import { compareStableStrings } from "../model/diagnostics.js";
|
|
5
3
|
import { canonicalizeExactDurationSourceToken } from "../model/exact-duration-source.js";
|
|
6
4
|
import { canonicalizeExactPersonHoursSourceToken } from "../model/exact-person-hours-source.js";
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
import { actualsDiagnostic } from "./reduction.js";
|
|
6
|
+
export { reduceTaskLifecycle, taskStatus, taskStatusSpan, validateStoredLifecycleState, } from "./reduction.js";
|
|
7
|
+
export { actualsDiagnostic };
|
|
10
8
|
const identifierPattern = /^[A-Za-z][A-Za-z0-9_-]*$/;
|
|
11
|
-
const eventKindOrder = Object.freeze({
|
|
12
|
-
start: 0,
|
|
13
|
-
suspend: 1,
|
|
14
|
-
resume: 2,
|
|
15
|
-
finish: 3,
|
|
16
|
-
});
|
|
17
|
-
export function actualsDiagnostic(code, message, cause, entityId, span, data = {}) {
|
|
18
|
-
return Object.freeze({
|
|
19
|
-
code,
|
|
20
|
-
severity: "error",
|
|
21
|
-
message,
|
|
22
|
-
...(entityId === null ? {} : { entityId }),
|
|
23
|
-
...(span === undefined ? {} : { span }),
|
|
24
|
-
helpTopic: "syntax.work-event",
|
|
25
|
-
data: Object.freeze({ cause, ...data }),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
9
|
function invalidRequest(taskId, detail) {
|
|
29
10
|
return Object.freeze({
|
|
30
11
|
ok: false,
|
|
@@ -37,7 +18,7 @@ function invalidRequest(taskId, detail) {
|
|
|
37
18
|
export function deriveWorkEventId(taskId, kind, canonicalOccurredAt) {
|
|
38
19
|
const payload = `perttool.work-event-id.v1\u0000${taskId}\u0000${kind}` +
|
|
39
20
|
`\u0000${canonicalOccurredAt}`;
|
|
40
|
-
return `WE-${
|
|
21
|
+
return `WE-${sha256HexUtf8(payload)}`;
|
|
41
22
|
}
|
|
42
23
|
export function normalizeLifecycleMutationRequest(input) {
|
|
43
24
|
if (input === null || typeof input !== "object" || Array.isArray(input)) {
|
|
@@ -174,156 +155,4 @@ export function normalizeFinishActualsRequest(input) {
|
|
|
174
155
|
}
|
|
175
156
|
return normalized;
|
|
176
157
|
}
|
|
177
|
-
function eventInstant(event) {
|
|
178
|
-
return instantKey(event.occurredAt);
|
|
179
|
-
}
|
|
180
|
-
function compareEvents(left, right) {
|
|
181
|
-
const instantOrder = compare(eventInstant(left), eventInstant(right));
|
|
182
|
-
if (instantOrder !== 0)
|
|
183
|
-
return instantOrder;
|
|
184
|
-
const kindOrder = eventKindOrder[left.kind] - eventKindOrder[right.kind];
|
|
185
|
-
return kindOrder !== 0
|
|
186
|
-
? kindOrder
|
|
187
|
-
: compareStableStrings(left.id, right.id);
|
|
188
|
-
}
|
|
189
|
-
function sequenceFailure(event, cause) {
|
|
190
|
-
return Object.freeze({
|
|
191
|
-
ok: false,
|
|
192
|
-
coverage: "unavailable",
|
|
193
|
-
state: null,
|
|
194
|
-
derivedActiveTime: null,
|
|
195
|
-
diagnostics: Object.freeze([
|
|
196
|
-
actualsDiagnostic("PTACT-104", "invalid work-event lifecycle sequence", cause, event.id, event.idSpan),
|
|
197
|
-
]),
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
export function reduceTaskLifecycle(events) {
|
|
201
|
-
if (events.length === 0) {
|
|
202
|
-
return Object.freeze({
|
|
203
|
-
ok: true,
|
|
204
|
-
coverage: "unrecorded",
|
|
205
|
-
state: null,
|
|
206
|
-
derivedActiveTime: null,
|
|
207
|
-
diagnostics: Object.freeze([]),
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
const ordered = [...events].sort(compareEvents);
|
|
211
|
-
for (let index = 1; index < ordered.length; index += 1) {
|
|
212
|
-
const previous = ordered[index - 1];
|
|
213
|
-
const current = ordered[index];
|
|
214
|
-
if (compare(eventInstant(previous), eventInstant(current)) === 0 &&
|
|
215
|
-
previous.kind === current.kind) {
|
|
216
|
-
return sequenceFailure(current, "duplicate_kind_at_instant");
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
let state = null;
|
|
220
|
-
let coverage = "open";
|
|
221
|
-
let activeIntervalStart = null;
|
|
222
|
-
let derivedActiveTime = ZERO;
|
|
223
|
-
for (const [index, event] of ordered.entries()) {
|
|
224
|
-
const instant = eventInstant(event);
|
|
225
|
-
if (state === "done")
|
|
226
|
-
return sequenceFailure(event, "event_after_finish");
|
|
227
|
-
switch (event.kind) {
|
|
228
|
-
case "start":
|
|
229
|
-
if (index !== 0 || state !== null) {
|
|
230
|
-
return sequenceFailure(event, "invalid_transition");
|
|
231
|
-
}
|
|
232
|
-
state = "active";
|
|
233
|
-
activeIntervalStart = instant;
|
|
234
|
-
break;
|
|
235
|
-
case "suspend":
|
|
236
|
-
if (state !== "active" || activeIntervalStart === null) {
|
|
237
|
-
return sequenceFailure(event, "invalid_transition");
|
|
238
|
-
}
|
|
239
|
-
derivedActiveTime = add(derivedActiveTime, subtract(instant, activeIntervalStart));
|
|
240
|
-
if (derivedActiveTime.numerator < 0n) {
|
|
241
|
-
return sequenceFailure(event, "invalid_transition");
|
|
242
|
-
}
|
|
243
|
-
state = "suspended";
|
|
244
|
-
activeIntervalStart = null;
|
|
245
|
-
break;
|
|
246
|
-
case "resume":
|
|
247
|
-
if (state !== "suspended") {
|
|
248
|
-
return sequenceFailure(event, "invalid_transition");
|
|
249
|
-
}
|
|
250
|
-
state = "active";
|
|
251
|
-
activeIntervalStart = instant;
|
|
252
|
-
break;
|
|
253
|
-
case "finish":
|
|
254
|
-
if (index === 0 && state === null) {
|
|
255
|
-
state = "done";
|
|
256
|
-
coverage = "finish_only";
|
|
257
|
-
break;
|
|
258
|
-
}
|
|
259
|
-
if (state !== "active" && state !== "suspended") {
|
|
260
|
-
return sequenceFailure(event, "invalid_transition");
|
|
261
|
-
}
|
|
262
|
-
if (state === "active" && activeIntervalStart !== null) {
|
|
263
|
-
derivedActiveTime = add(derivedActiveTime, subtract(instant, activeIntervalStart));
|
|
264
|
-
if (derivedActiveTime.numerator < 0n) {
|
|
265
|
-
return sequenceFailure(event, "invalid_transition");
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
state = "done";
|
|
269
|
-
activeIntervalStart = null;
|
|
270
|
-
coverage = "complete";
|
|
271
|
-
break;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
return Object.freeze({
|
|
275
|
-
ok: true,
|
|
276
|
-
coverage,
|
|
277
|
-
state,
|
|
278
|
-
derivedActiveTime: coverage === "complete"
|
|
279
|
-
? divide(derivedActiveTime, rational(3600n))
|
|
280
|
-
: null,
|
|
281
|
-
diagnostics: Object.freeze([]),
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
export function taskStatus(task) {
|
|
285
|
-
return (fieldNamed(task, "status")?.value ?? "planned");
|
|
286
|
-
}
|
|
287
|
-
export function taskStatusSpan(task) {
|
|
288
|
-
return fieldNamed(task, "status")?.valueSpan ?? task.idSpan;
|
|
289
|
-
}
|
|
290
|
-
export function validateStoredLifecycleState(validated) {
|
|
291
|
-
const model = projectActualsSourceModel(validated);
|
|
292
|
-
const diagnostics = [];
|
|
293
|
-
for (const task of validated.document.declarations) {
|
|
294
|
-
if (task.kind !== "task")
|
|
295
|
-
continue;
|
|
296
|
-
const events = workEventsForTask(model, task.id);
|
|
297
|
-
const reduction = reduceTaskLifecycle(events);
|
|
298
|
-
if (!reduction.ok) {
|
|
299
|
-
diagnostics.push(...reduction.diagnostics);
|
|
300
|
-
continue;
|
|
301
|
-
}
|
|
302
|
-
if (reduction.coverage === "unrecorded")
|
|
303
|
-
continue;
|
|
304
|
-
const stored = taskStatus(task);
|
|
305
|
-
if (reduction.state !== stored) {
|
|
306
|
-
diagnostics.push(actualsDiagnostic("PTACT-104", "invalid work-event lifecycle sequence", "state_event_mismatch", task.id, taskStatusSpan(task), {
|
|
307
|
-
stored_state: stored,
|
|
308
|
-
event_state: reduction.state,
|
|
309
|
-
}));
|
|
310
|
-
continue;
|
|
311
|
-
}
|
|
312
|
-
if (reduction.coverage !== "complete")
|
|
313
|
-
continue;
|
|
314
|
-
const finish = events.find(({ kind }) => kind === "finish");
|
|
315
|
-
if (finish?.activeTime !== null &&
|
|
316
|
-
finish?.activeTime !== undefined &&
|
|
317
|
-
reduction.derivedActiveTime !== null &&
|
|
318
|
-
compare(finish.activeTime.value, reduction.derivedActiveTime) !== 0) {
|
|
319
|
-
diagnostics.push(actualsDiagnostic("PTACT-107", "explicit active time differs from the event-derived active time", "active_time_mismatch", finish.id, finish.activeTime.valueSpan, {
|
|
320
|
-
explicit_numerator: finish.activeTime.value.numerator.toString(),
|
|
321
|
-
explicit_denominator: finish.activeTime.value.denominator.toString(),
|
|
322
|
-
derived_numerator: reduction.derivedActiveTime.numerator.toString(),
|
|
323
|
-
derived_denominator: reduction.derivedActiveTime.denominator.toString(),
|
|
324
|
-
}));
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
return Object.freeze(diagnostics);
|
|
328
|
-
}
|
|
329
158
|
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/actuals/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/actuals/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Diagnostic, SourceSpan } from "../model/diagnostics.js";
|
|
2
|
+
import { type Rational } from "../model/rational.js";
|
|
3
|
+
import type { DeclarationNode, TargetDeclarationKind } from "../model/syntax.js";
|
|
4
|
+
import type { TargetGrammar5ValidatedDocument } from "../semantic/target-validator.js";
|
|
5
|
+
import { type ActualWorkEvent } from "./source.js";
|
|
6
|
+
export type TaskLifecycleState = "planned" | "active" | "blocked" | "suspended" | "done";
|
|
7
|
+
export type ActualsCoverage = "complete" | "open" | "finish_only" | "unrecorded" | "unavailable";
|
|
8
|
+
export interface LifecycleReduction {
|
|
9
|
+
readonly ok: boolean;
|
|
10
|
+
readonly coverage: ActualsCoverage;
|
|
11
|
+
readonly state: "active" | "suspended" | "done" | null;
|
|
12
|
+
readonly derivedActiveTime: Rational | null;
|
|
13
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
14
|
+
}
|
|
15
|
+
export declare function actualsDiagnostic(code: "PTACT-104" | "PTACT-105" | "PTACT-106" | "PTACT-107" | "PTACT-108", message: string, cause: string, entityId: string | null, span?: SourceSpan, data?: Readonly<Record<string, unknown>>): Diagnostic;
|
|
16
|
+
export declare function reduceTaskLifecycle(events: readonly ActualWorkEvent[]): LifecycleReduction;
|
|
17
|
+
export declare function taskStatus(task: DeclarationNode<TargetDeclarationKind>): TaskLifecycleState;
|
|
18
|
+
export declare function taskStatusSpan(task: DeclarationNode<TargetDeclarationKind>): SourceSpan;
|
|
19
|
+
export declare function validateStoredLifecycleState(validated: TargetGrammar5ValidatedDocument): readonly Diagnostic[];
|
|
20
|
+
//# sourceMappingURL=reduction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reduction.d.ts","sourceRoot":"","sources":["../../src/actuals/reduction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AASrB,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,MAAM,GACN,aAAa,GACb,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EACA,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,IAAI,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAC3C,UAAU,CAUZ;AAoCD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,kBAAkB,CA4FpB;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,eAAe,CAAC,qBAAqB,CAAC,GAC3C,kBAAkB,CAEpB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,eAAe,CAAC,qBAAqB,CAAC,GAC3C,UAAU,CAEZ;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,+BAA+B,GACzC,SAAS,UAAU,EAAE,CAwDvB"}
|