perttool 0.9.0 → 0.9.1
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 +15 -1
- package/README.md +43 -28
- package/dist/application/cli-facade.d.ts +2 -1
- package/dist/application/cli-facade.d.ts.map +1 -1
- package/dist/application/cli-facade.js +2 -1
- package/dist/application/cli-facade.js.map +1 -1
- package/dist/application/target-project-history.d.ts +10 -0
- package/dist/application/target-project-history.d.ts.map +1 -1
- package/dist/application/target-project-history.js +54 -0
- package/dist/application/target-project-history.js.map +1 -1
- package/dist/application/target-velocity-observation.d.ts +6 -1
- package/dist/application/target-velocity-observation.d.ts.map +1 -1
- package/dist/application/target-velocity-observation.js +72 -4
- package/dist/application/target-velocity-observation.js.map +1 -1
- package/dist/cli.js +30 -10
- package/dist/cli.js.map +1 -1
- package/dist/help/assurance-guide.d.ts.map +1 -1
- package/dist/help/assurance-guide.js +1 -0
- package/dist/help/assurance-guide.js.map +1 -1
- package/dist/help/registry.js +1 -1
- package/dist/help/registry.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -31,7 +31,7 @@ import { persistMilestoneAcceptanceMutation, planAcceptanceReceiptMutation, plan
|
|
|
31
31
|
import { planMilestoneAcceptanceMigration, recheckCommittedMigrationProof, } from "./milestone-acceptance/migration.js";
|
|
32
32
|
import { MILESTONE_ACCEPTANCE_SOURCE_CAPABILITY, milestoneAcceptanceBaseText, parseMilestoneAcceptanceSource } from "./milestone-acceptance/source.js";
|
|
33
33
|
import { planMilestoneAcceptanceAdvance } from "./milestone-acceptance/advance.js";
|
|
34
|
-
const { analyzeDocument: _analyzeContract7Document, checkDocument: _checkContract7Document, selectNextTasks: _selectContract7NextTasks, planFormat, planProjectInit, projectInitResultToJson, renderProjectInitResult, withProjectInitOutput, planUnitMigration, withUnitMigrationWrite, getProjectMetadata, contract7ProjectResultToJson, renderContract7ProjectText, planAdvance, planBatchMutation, planFinishActuals, planLifecycle, planMutation, planAssuranceMutation, renderTargetGovernanceDecision, contract7InspectionResultToJson, contract7MutationResultToJson, contract7SnakeJson, contract6WorkEventToJson, renderAdvanceHistoryGuard, prepareTargetPlanAssuranceAdvanceHistory, prepareAdvanceHistory, withAdvanceHistoryRace, withTargetPlanAssuranceAdvanceHistoryRace, persistTargetPlanAssuranceResult, inspectTargetPlanAssurance, inspectTargetProjectHistoryFile, renderTargetProjectHistoryText, targetProjectHistoryResultToJson, observeTargetProjectVelocity, renderTargetVelocityObservationText, targetVelocityObservationResultToJson, getAgentHelp, documentContentFromBytes, readDocumentContent, readBytes, recheckAdvanceHistoryBaseline, captureAdvanceHistoryBaseline, createArtifactFile, createValidatedDocumentFile, createTargetGrammar6DocumentFile, replaceTargetGrammar6DocumentFile, replaceValidatedDocumentFile, inspectTargetHistoricalGraphFile, renderTargetHistoricalGraphText, targetHistoricalGraphResultToJson, } = createCliApplicationFacade(createNodeHost(), createHistoricalGraphGitEvidenceHost());
|
|
34
|
+
const { analyzeDocument: _analyzeContract7Document, checkDocument: _checkContract7Document, selectNextTasks: _selectContract7NextTasks, planFormat, planProjectInit, projectInitResultToJson, renderProjectInitResult, withProjectInitOutput, planUnitMigration, withUnitMigrationWrite, getProjectMetadata, contract7ProjectResultToJson, renderContract7ProjectText, planAdvance, planBatchMutation, planFinishActuals, planLifecycle, planMutation, planAssuranceMutation, renderTargetGovernanceDecision, contract7InspectionResultToJson, contract7MutationResultToJson, contract7SnakeJson, contract6WorkEventToJson, renderAdvanceHistoryGuard, prepareTargetPlanAssuranceAdvanceHistory, prepareAdvanceHistory, withAdvanceHistoryRace, withTargetPlanAssuranceAdvanceHistoryRace, persistTargetPlanAssuranceResult, inspectTargetPlanAssurance, inspectTargetCurrentProjectActuals, inspectTargetProjectHistoryFile, renderTargetProjectHistoryText, targetProjectHistoryResultToJson, observeTargetProjectVelocity, renderTargetVelocityObservationText, targetVelocityObservationResultToJson, getAgentHelp, documentContentFromBytes, readDocumentContent, readBytes, recheckAdvanceHistoryBaseline, captureAdvanceHistoryBaseline, createArtifactFile, createValidatedDocumentFile, createTargetGrammar6DocumentFile, replaceTargetGrammar6DocumentFile, replaceValidatedDocumentFile, inspectTargetHistoricalGraphFile, renderTargetHistoricalGraphText, targetHistoricalGraphResultToJson, } = createCliApplicationFacade(createNodeHost(), createHistoricalGraphGitEvidenceHost());
|
|
35
35
|
const analyzeDocument = analyzeContract8Document;
|
|
36
36
|
const checkDocument = checkContract8Document;
|
|
37
37
|
const selectNextTasks = selectContract8NextTasks;
|
|
@@ -1515,7 +1515,7 @@ async function runUnitMigration(args) {
|
|
|
1515
1515
|
}
|
|
1516
1516
|
return ok ? 0 : 1;
|
|
1517
1517
|
}
|
|
1518
|
-
async function readHistoryForCommand(operation, parsed, format) {
|
|
1518
|
+
async function readHistoryForCommand(operation, parsed, format, expectedSourceDigest) {
|
|
1519
1519
|
if (parsed.positionals.length !== 1) {
|
|
1520
1520
|
throw new UsageError(`${operation.replace(".", " ")} requires exactly one <file>`);
|
|
1521
1521
|
}
|
|
@@ -1532,6 +1532,9 @@ async function readHistoryForCommand(operation, parsed, format) {
|
|
|
1532
1532
|
...(parsed.repeatedValues.get("task") === undefined
|
|
1533
1533
|
? {}
|
|
1534
1534
|
: { taskIds: parsed.repeatedValues.get("task") }),
|
|
1535
|
+
...(expectedSourceDigest === undefined
|
|
1536
|
+
? {}
|
|
1537
|
+
: { expectedSourceDigest }),
|
|
1535
1538
|
}, TARGET_GRAMMAR_6_CAPABILITY);
|
|
1536
1539
|
}
|
|
1537
1540
|
catch (error) {
|
|
@@ -1619,20 +1622,37 @@ async function runProjectVelocityObservation(args) {
|
|
|
1619
1622
|
const parsed = parseCommandOptions("project.observe-velocity", args);
|
|
1620
1623
|
const format = outputFormat(parsed.values.get("format"));
|
|
1621
1624
|
const color = colorMode(parsed.values.get("color"), format);
|
|
1622
|
-
const history = await readHistoryForCommand("project.observe-velocity", parsed, format);
|
|
1623
|
-
if (history instanceof Error) {
|
|
1624
|
-
return cliError(history, 3, "project.observe-velocity", format === "json");
|
|
1625
|
-
}
|
|
1626
1625
|
const evidenceValue = parsed.values.get("evidence") ?? "declared";
|
|
1627
1626
|
const evidence = evidenceValue === "git-recorded"
|
|
1628
1627
|
? "git_recorded"
|
|
1629
1628
|
: evidenceValue;
|
|
1629
|
+
const source = parsed.positionals[0];
|
|
1630
|
+
let current = null;
|
|
1631
|
+
if (evidence !== "git_recorded" && source !== undefined && source !== "-") {
|
|
1632
|
+
try {
|
|
1633
|
+
current = await readDocumentContent(source);
|
|
1634
|
+
}
|
|
1635
|
+
catch (error) {
|
|
1636
|
+
return cliError(error instanceof Error ? error : new Error(String(error)), 3, "project.observe-velocity", format === "json");
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
const history = await readHistoryForCommand("project.observe-velocity", parsed, format, current?.digest);
|
|
1640
|
+
if (history instanceof Error) {
|
|
1641
|
+
return cliError(history, 3, "project.observe-velocity", format === "json");
|
|
1642
|
+
}
|
|
1643
|
+
const taskIds = parsed.repeatedValues.get("task");
|
|
1644
|
+
const currentActuals = current === null
|
|
1645
|
+
? null
|
|
1646
|
+
: inspectTargetCurrentProjectActuals({ bytes: current.bytes, digest: current.digest }, taskIds === undefined ? {} : { taskIds }, TARGET_GRAMMAR_6_CAPABILITY);
|
|
1630
1647
|
const result = observeTargetProjectVelocity(history, {
|
|
1631
|
-
...(
|
|
1632
|
-
? {}
|
|
1633
|
-
: { taskIds: parsed.repeatedValues.get("task") }),
|
|
1648
|
+
...(taskIds === undefined ? {} : { taskIds }),
|
|
1634
1649
|
evidence,
|
|
1635
|
-
}
|
|
1650
|
+
}, currentActuals === null || current === null
|
|
1651
|
+
? {}
|
|
1652
|
+
: {
|
|
1653
|
+
currentActuals,
|
|
1654
|
+
currentSourceDigest: current.digest,
|
|
1655
|
+
});
|
|
1636
1656
|
const warningFailure = parsed.flags.has("warnings-as-errors") &&
|
|
1637
1657
|
result.diagnostics.some((diagnostic) => diagnostic.severity === "warning");
|
|
1638
1658
|
const ok = result.ok && !warningFailure;
|