@tiic-tech/openworkflow 0.1.1 → 0.1.2
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/dist/adapters/codex/src/cleanCodexAdapter.js +4 -1
- package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -1
- package/dist/adapters/codex/src/constants.d.ts +1 -0
- package/dist/adapters/codex/src/constants.js +2 -0
- package/dist/adapters/codex/src/constants.js.map +1 -0
- package/dist/adapters/codex/src/generateCommands.js +14 -9
- package/dist/adapters/codex/src/generateCommands.js.map +1 -1
- package/dist/adapters/codex/src/generateSkills.js +13 -0
- package/dist/adapters/codex/src/generateSkills.js.map +1 -1
- package/dist/adapters/codex/src/generatedFiles.js +1 -1
- package/dist/adapters/codex/src/manifest.js +11 -2
- package/dist/adapters/codex/src/manifest.js.map +1 -1
- package/dist/adapters/codex/src/templates.d.ts +0 -1
- package/dist/adapters/codex/src/templates.js +0 -1
- package/dist/adapters/codex/src/templates.js.map +1 -1
- package/dist/adapters/src/registry.d.ts +20 -0
- package/dist/adapters/src/registry.js +81 -0
- package/dist/adapters/src/registry.js.map +1 -0
- package/dist/cli/src/commands/brief.d.ts +46 -0
- package/dist/cli/src/commands/brief.js +294 -0
- package/dist/cli/src/commands/brief.js.map +1 -0
- package/dist/cli/src/commands/check.d.ts +42 -0
- package/dist/cli/src/commands/check.js +326 -0
- package/dist/cli/src/commands/check.js.map +1 -0
- package/dist/cli/src/commands/clean.js +46 -1
- package/dist/cli/src/commands/clean.js.map +1 -1
- package/dist/cli/src/commands/context.d.ts +1 -0
- package/dist/cli/src/commands/context.js +471 -0
- package/dist/cli/src/commands/context.js.map +1 -0
- package/dist/cli/src/commands/doctor.js +122 -12
- package/dist/cli/src/commands/doctor.js.map +1 -1
- package/dist/cli/src/commands/draft.d.ts +1 -0
- package/dist/cli/src/commands/draft.js +175 -0
- package/dist/cli/src/commands/draft.js.map +1 -0
- package/dist/cli/src/commands/gitAutomation.d.ts +1 -0
- package/dist/cli/src/commands/gitAutomation.js +378 -0
- package/dist/cli/src/commands/gitAutomation.js.map +1 -0
- package/dist/cli/src/commands/handoff.d.ts +22 -0
- package/dist/cli/src/commands/handoff.js +122 -0
- package/dist/cli/src/commands/handoff.js.map +1 -0
- package/dist/cli/src/commands/init.js +52 -1
- package/dist/cli/src/commands/init.js.map +1 -1
- package/dist/cli/src/commands/inspect.d.ts +23 -0
- package/dist/cli/src/commands/inspect.js +157 -0
- package/dist/cli/src/commands/inspect.js.map +1 -0
- package/dist/cli/src/commands/register.d.ts +1 -0
- package/dist/cli/src/commands/register.js +251 -0
- package/dist/cli/src/commands/register.js.map +1 -0
- package/dist/cli/src/commands/resume.d.ts +59 -0
- package/dist/cli/src/commands/resume.js +280 -0
- package/dist/cli/src/commands/resume.js.map +1 -0
- package/dist/cli/src/commands/shared.js +6 -2
- package/dist/cli/src/commands/shared.js.map +1 -1
- package/dist/cli/src/commands/summaries.d.ts +1 -0
- package/dist/cli/src/commands/summaries.js +77 -0
- package/dist/cli/src/commands/summaries.js.map +1 -0
- package/dist/cli/src/commands/summarize.d.ts +1 -0
- package/dist/cli/src/commands/summarize.js +316 -0
- package/dist/cli/src/commands/summarize.js.map +1 -0
- package/dist/cli/src/commands/sync.js +135 -12
- package/dist/cli/src/commands/sync.js.map +1 -1
- package/dist/cli/src/commands/validate.js +25 -1
- package/dist/cli/src/commands/validate.js.map +1 -1
- package/dist/cli/src/dev/verifyAgentE2E.d.ts +2 -0
- package/dist/cli/src/dev/verifyAgentE2E.js +391 -0
- package/dist/cli/src/dev/verifyAgentE2E.js.map +1 -0
- package/dist/cli/src/dev/verifyCleanCommand.js +213 -2
- package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -1
- package/dist/cli/src/dev/verifyRuntimeSurface.js +4940 -54
- package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -1
- package/dist/cli/src/dev/verifyWorkflowE2E.js +477 -45
- package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -1
- package/dist/cli/src/index.js +184 -6
- package/dist/cli/src/index.js.map +1 -1
- package/dist/cli/src/report.d.ts +26 -0
- package/dist/cli/src/report.js +17 -0
- package/dist/cli/src/report.js.map +1 -0
- package/dist/core/src/artifacts/readiness.d.ts +7 -0
- package/dist/core/src/artifacts/readiness.js +240 -0
- package/dist/core/src/artifacts/readiness.js.map +1 -0
- package/dist/core/src/artifacts/registry.d.ts +9 -2
- package/dist/core/src/artifacts/registry.js +687 -60
- package/dist/core/src/artifacts/registry.js.map +1 -1
- package/dist/core/src/commands/registry.js +1425 -146
- package/dist/core/src/commands/registry.js.map +1 -1
- package/dist/core/src/contracts/index.d.ts +1 -1
- package/dist/core/src/fs/index.d.ts +24 -0
- package/dist/core/src/fs/index.js +48 -1
- package/dist/core/src/fs/index.js.map +1 -1
- package/dist/core/src/git/autonomousSimulator.d.ts +46 -0
- package/dist/core/src/git/autonomousSimulator.js +163 -0
- package/dist/core/src/git/autonomousSimulator.js.map +1 -0
- package/dist/core/src/git/branchIdentity.d.ts +19 -0
- package/dist/core/src/git/branchIdentity.js +75 -0
- package/dist/core/src/git/branchIdentity.js.map +1 -0
- package/dist/core/src/git/draftPrPilot.d.ts +47 -0
- package/dist/core/src/git/draftPrPilot.js +196 -0
- package/dist/core/src/git/draftPrPilot.js.map +1 -0
- package/dist/core/src/git/localEvidenceReader.d.ts +21 -0
- package/dist/core/src/git/localEvidenceReader.js +142 -0
- package/dist/core/src/git/localEvidenceReader.js.map +1 -0
- package/dist/core/src/git/localGitAutomation.d.ts +68 -0
- package/dist/core/src/git/localGitAutomation.js +470 -0
- package/dist/core/src/git/localGitAutomation.js.map +1 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.d.ts +31 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.js +110 -0
- package/dist/core/src/git/mergeReadinessCheckpoint.js.map +1 -0
- package/dist/core/src/git/prReadySummary.d.ts +16 -0
- package/dist/core/src/git/prReadySummary.js +144 -0
- package/dist/core/src/git/prReadySummary.js.map +1 -0
- package/dist/core/src/git/remoteReadonlyPlanner.d.ts +60 -0
- package/dist/core/src/git/remoteReadonlyPlanner.js +223 -0
- package/dist/core/src/git/remoteReadonlyPlanner.js.map +1 -0
- package/dist/core/src/onboarding/agentsGuide.d.ts +32 -0
- package/dist/core/src/onboarding/agentsGuide.js +164 -0
- package/dist/core/src/onboarding/agentsGuide.js.map +1 -0
- package/dist/core/src/validators/validateOpenWorkflow.js +1331 -15
- package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -1
- package/dist/core/src/validators/validateRepositoryContracts.js +2321 -306
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
- package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +2 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js +97 -8
- package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -1
- package/dist/core/src/workflow/doctorOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.js +26 -0
- package/dist/core/src/workflow/doctorOpenWorkflow.js.map +1 -0
- package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/initOpenWorkflow.js +96 -8
- package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -1
- package/dist/core/src/workflow/planningQueueResume.d.ts +105 -0
- package/dist/core/src/workflow/planningQueueResume.js +596 -0
- package/dist/core/src/workflow/planningQueueResume.js.map +1 -0
- package/dist/core/src/workflow/readWorkflowConfig.d.ts +6 -0
- package/dist/core/src/workflow/readWorkflowConfig.js +28 -0
- package/dist/core/src/workflow/readWorkflowConfig.js.map +1 -0
- package/dist/core/src/workflow/summaryHealth.d.ts +60 -0
- package/dist/core/src/workflow/summaryHealth.js +713 -0
- package/dist/core/src/workflow/summaryHealth.js.map +1 -0
- package/dist/core/src/workflow/syncOpenWorkflow.d.ts +22 -0
- package/dist/core/src/workflow/syncOpenWorkflow.js +235 -0
- package/dist/core/src/workflow/syncOpenWorkflow.js.map +1 -0
- package/package.json +2 -1
- package/references/artifact-authoring-templates.md +14 -12
- package/references/artifact-instruction-envelope.md +133 -0
- package/references/coder-continuous-growth-loop.md +68 -0
- package/references/gh-operation-governance.md +114 -0
- package/references/git-automation-governance.md +324 -0
- package/references/git-version-control-governance.md +227 -0
- package/references/internal-coder-protocol.md +202 -0
- package/references/issue-governance.md +115 -0
- package/references/planning-artifact-contracts.md +595 -0
- package/references/planning-skill-runtime-exposure.md +159 -0
- package/references/proto-redesign-artifact-contracts.md +217 -0
- package/references/proto2html-artifact-contracts.md +113 -0
- package/references/skill-system-lifecycle.md +198 -0
- package/references/validation-trust-domains.md +286 -0
- package/references/workflow-blueprint-runtime-alignment.md +287 -0
- package/schemas/atom-tasks.schema.json +101 -0
- package/schemas/candidate-changes.schema.json +323 -0
- package/schemas/current-state.schema.json +113 -0
- package/schemas/html-prototype.schema.json +288 -0
- package/schemas/openworkflow-contract.schema.json +9 -1
- package/schemas/proto-prompt-pack.schema.json +1333 -0
- package/schemas/prototype-evidence.schema.json +684 -142
- package/schemas/selected-change.schema.json +104 -0
- package/schemas/validation-target.schema.json +187 -1
- package/schemas/validation.schema.json +187 -1
- package/schemas/vision-session.schema.json +151 -0
- package/skills/analyze-changes/SKILL.md +92 -0
- package/skills/analyze-changes/agents/openai.yaml +4 -0
- package/skills/analyze-changes/references/analysis-protocol.md +116 -0
- package/skills/build-proto-prompt/SKILL.md +125 -0
- package/skills/build-proto-prompt/references/output-boundary.md +54 -0
- package/skills/build-proto-prompt/references/prompt-pack-compiler-protocol.md +80 -0
- package/skills/build-prototype/SKILL.md +162 -38
- package/skills/build-prototype/agents/openai.yaml +2 -2
- package/skills/build-prototype/references/philosophy-engine.md +61 -0
- package/skills/build-prototype/references/strategic-prompt-pack-protocol.md +365 -0
- package/skills/build-prototype/references/vision2prompt/01_input_contract.md +84 -0
- package/skills/build-prototype/references/vision2prompt/02_vision_decomposition.md +108 -0
- package/skills/build-prototype/references/vision2prompt/03_strategy_hypothesis_generation.md +89 -0
- package/skills/build-prototype/references/vision2prompt/04_product_system_extraction.md +78 -0
- package/skills/build-prototype/references/vision2prompt/05_prototype_prompt_schema.md +189 -0
- package/skills/build-prototype/references/vision2prompt/06_output_templates.md +125 -0
- package/skills/build-prototype/references/vision2prompt/07_quality_rubric.md +171 -0
- package/skills/build-validation/SKILL.md +136 -54
- package/skills/build-validation/references/prototype-validation-target-rubric.md +35 -0
- package/skills/build-validation/references/return-to-vision-gate.md +32 -0
- package/skills/build-vision/SKILL.md +192 -0
- package/skills/build-vision/references/proto-readiness-rubric.md +48 -0
- package/skills/build-vision/references/vision-interview-protocol.md +48 -0
- package/skills/coder/SKILL.md +204 -0
- package/skills/decompose-to-changes/SKILL.md +176 -0
- package/skills/decompose-to-changes/agents/openai.yaml +4 -0
- package/skills/decompose-to-changes/references/decomposition-protocol.md +278 -0
- package/skills/prompt2proto/SKILL.md +157 -0
- package/skills/prompt2proto/agents/openai.yaml +4 -0
- package/skills/prompt2proto/references/00_role_philosophy_engine.md +96 -0
- package/skills/prompt2proto/references/01_input_contract.md +53 -0
- package/skills/prompt2proto/references/02_prompt_pack_readiness.md +50 -0
- package/skills/prompt2proto/references/03_visual_translation_workflow.md +64 -0
- package/skills/prompt2proto/references/04_output_contract.md +67 -0
- package/skills/prompt2proto/references/05_quality_rubric.md +46 -0
- package/skills/proto2html/SKILL.md +136 -0
- package/skills/proto2html/agents/openai.yaml +4 -0
- package/skills/proto2html/references/proto2html-protocol.md +115 -0
- package/skills/run-team/SKILL.md +4 -0
- package/skills/select-change/SKILL.md +200 -0
- package/skills/select-change/agents/openai.yaml +4 -0
- package/skills/select-change/references/selection-protocol.md +281 -0
- package/skills/tune-prototype/SKILL.md +121 -0
- package/skills/tune-prototype/agents/openai.yaml +4 -0
- package/skills/tune-prototype/references/refined-prompt-pack-protocol.md +161 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { buildPlanningQueueResume } from "../../../core/src/workflow/planningQueueResume.js";
|
|
3
|
+
import { buildSummaryQualitySummary, evaluateSummaryQualityGate } from "../../../core/src/workflow/summaryHealth.js";
|
|
4
|
+
import { booleanFlag, stringFlag } from "../args.js";
|
|
5
|
+
import { emptyEffects, printJsonReport } from "../report.js";
|
|
6
|
+
import { buildBriefModel } from "./brief.js";
|
|
7
|
+
import { buildReadiness } from "./check.js";
|
|
8
|
+
import { buildHandoffModel } from "./handoff.js";
|
|
9
|
+
import { buildInspectModel } from "./inspect.js";
|
|
10
|
+
import { parseTools } from "./shared.js";
|
|
11
|
+
export async function resumeCommand(flags) {
|
|
12
|
+
const root = resolve(stringFlag(flags, "root", ".") ?? ".");
|
|
13
|
+
const json = booleanFlag(flags, "json");
|
|
14
|
+
const brief = await buildBriefModel(root, parseTools(stringFlag(flags, "tools")));
|
|
15
|
+
const nextCommand = brief.workflow.next_command;
|
|
16
|
+
const nextCommandCheck = nextCommand ? await buildReadiness(root, nextCommand) : null;
|
|
17
|
+
const strictQuality = evaluateSummaryQualityGate(brief.health.summaries, true);
|
|
18
|
+
const inspect = buildInspectModel(brief, nextCommandCheck, strictQuality);
|
|
19
|
+
const qualitySummary = buildSummaryQualitySummary(brief.health.summaries, strictQuality);
|
|
20
|
+
const handoff = buildHandoffModel(brief, nextCommandCheck, inspect.read_order, qualitySummary);
|
|
21
|
+
const planningQueue = await buildPlanningQueueResume(root, brief.git.branch);
|
|
22
|
+
const model = buildResumeModel(brief, nextCommandCheck, handoff, planningQueue);
|
|
23
|
+
const warnings = warningsFor(brief, nextCommandCheck, model, planningQueue.warnings);
|
|
24
|
+
const healthErrors = model.trust.handoff_ok ? [] : model.trust.blocking_reasons;
|
|
25
|
+
if (json) {
|
|
26
|
+
printJsonReport({
|
|
27
|
+
command: "resume",
|
|
28
|
+
ok: model.trust.handoff_ok,
|
|
29
|
+
root,
|
|
30
|
+
data: model,
|
|
31
|
+
warnings,
|
|
32
|
+
errors: healthErrors,
|
|
33
|
+
health_errors: healthErrors,
|
|
34
|
+
effects: emptyEffects(),
|
|
35
|
+
next_actions: model.actions.immediate,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
printResume(model);
|
|
40
|
+
}
|
|
41
|
+
return model.trust.handoff_ok ? 0 : 1;
|
|
42
|
+
}
|
|
43
|
+
function buildResumeModel(brief, nextCommandCheck, handoff, planningQueue) {
|
|
44
|
+
return {
|
|
45
|
+
resume_version: "0.1.0",
|
|
46
|
+
project: brief.project,
|
|
47
|
+
command_boundary: {
|
|
48
|
+
read_only: true,
|
|
49
|
+
writes: [],
|
|
50
|
+
allowed_commands: [
|
|
51
|
+
"openworkflow handoff --root . --json",
|
|
52
|
+
"openworkflow inspect --root . --strict --json",
|
|
53
|
+
"openworkflow context --root . --handoff --json",
|
|
54
|
+
"openworkflow check <next_command> --root . --json",
|
|
55
|
+
"openworkflow summaries --root . --strict --json",
|
|
56
|
+
"git status --short --branch",
|
|
57
|
+
],
|
|
58
|
+
forbidden_operations: [
|
|
59
|
+
"mutate .openworkflow/CURRENT_STATE.yaml",
|
|
60
|
+
"refresh SUMMARY.yaml files",
|
|
61
|
+
"select, reprioritize, or complete candidate changes",
|
|
62
|
+
"stage or commit files",
|
|
63
|
+
"push, open PRs, or mutate remote state",
|
|
64
|
+
],
|
|
65
|
+
deferred_capabilities: [
|
|
66
|
+
"artifact lineage graph",
|
|
67
|
+
"write/commit preflight compiler",
|
|
68
|
+
"project-local SOUL.md and MEMORY.md learning artifacts",
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
trust: {
|
|
72
|
+
handoff_ok: handoff.handoff_ok,
|
|
73
|
+
blocking_reasons: handoff.blocking_reasons,
|
|
74
|
+
managed_surface_ok: handoff.managed_surface_ok,
|
|
75
|
+
adapter_ok: handoff.adapter_ok,
|
|
76
|
+
summary_freshness_ok: handoff.summary_freshness_ok,
|
|
77
|
+
summary_quality_ok: handoff.summary_quality_ok,
|
|
78
|
+
next_command_ready: handoff.next_command_ready,
|
|
79
|
+
quality_summary: handoff.quality_summary,
|
|
80
|
+
},
|
|
81
|
+
workflow: {
|
|
82
|
+
active_stage: handoff.active_stage,
|
|
83
|
+
next_command: handoff.next_command,
|
|
84
|
+
active_pointers: handoff.active_pointers,
|
|
85
|
+
read_order: handoff.read_order,
|
|
86
|
+
next_command_check: nextCommandCheck,
|
|
87
|
+
},
|
|
88
|
+
active_queue: planningQueue.active_queue,
|
|
89
|
+
current_work_item: planningQueue.current_work_item,
|
|
90
|
+
actions: {
|
|
91
|
+
immediate: immediateActionsFor(handoff, brief, planningQueue.current_work_item),
|
|
92
|
+
allowed_next_steps: allowedNextStepsFor(handoff),
|
|
93
|
+
allowed_actions: allowedActionsFor(handoff, planningQueue.current_work_item),
|
|
94
|
+
forbidden_actions: forbiddenActionsFor(nextCommandCheck, planningQueue.current_work_item),
|
|
95
|
+
stop_conditions: stopConditionsFor(handoff, brief, planningQueue.current_work_item),
|
|
96
|
+
stop_if: stopConditionsFor(handoff, brief, planningQueue.current_work_item),
|
|
97
|
+
},
|
|
98
|
+
evidence: {
|
|
99
|
+
primary_context: primaryContextFor(handoff.read_order),
|
|
100
|
+
primary: primaryEvidenceFor(planningQueue.active_queue, planningQueue.current_work_item),
|
|
101
|
+
auxiliary: auxiliaryEvidenceFor(planningQueue.active_queue, planningQueue.current_work_item),
|
|
102
|
+
comparison: comparisonEvidenceFor(planningQueue.active_queue),
|
|
103
|
+
raw_evidence_only_if: handoff.read_order.raw_evidence_only_if,
|
|
104
|
+
missing_or_unknown: missingOrUnknownFor(planningQueue.active_queue, planningQueue.current_work_item),
|
|
105
|
+
},
|
|
106
|
+
product_alignment: productAlignmentFor(handoff.active_pointers),
|
|
107
|
+
git: brief.git,
|
|
108
|
+
sources: [
|
|
109
|
+
"brief",
|
|
110
|
+
"inspect --strict",
|
|
111
|
+
"handoff",
|
|
112
|
+
...(nextCommandCheck ? ["check <next_command>"] : []),
|
|
113
|
+
"summaries --strict",
|
|
114
|
+
"git status --porcelain",
|
|
115
|
+
...planningQueue.sources,
|
|
116
|
+
],
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function missingOrUnknownFor(activeQueue, currentWorkItem) {
|
|
120
|
+
return unique([
|
|
121
|
+
activeQueue.status === "unknown" ? "active planning queue" : "",
|
|
122
|
+
currentWorkItem.status === "unknown" ? "selected candidate/current work item" : "",
|
|
123
|
+
...(activeQueue.status === "found" && activeQueue.commit_evidence.missing.length > 0 ? ["candidate-specific commit evidence"] : []),
|
|
124
|
+
]);
|
|
125
|
+
}
|
|
126
|
+
function immediateActionsFor(handoff, brief, currentWorkItem) {
|
|
127
|
+
if (handoff.handoff_ok) {
|
|
128
|
+
return unique([
|
|
129
|
+
currentWorkItem.status !== "unknown" ? currentWorkItem.next_action ?? "" : "",
|
|
130
|
+
...handoff.next_actions,
|
|
131
|
+
brief.git.dirty ? "inspect git.changed_files before editing; preserve existing uncommitted work" : "",
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
return unique([
|
|
135
|
+
"stop implementation until trust blockers are resolved",
|
|
136
|
+
currentWorkItem.status !== "unknown" ? currentWorkItem.next_action ?? "" : "",
|
|
137
|
+
...handoff.next_actions,
|
|
138
|
+
]);
|
|
139
|
+
}
|
|
140
|
+
function allowedNextStepsFor(handoff) {
|
|
141
|
+
if (!handoff.handoff_ok) {
|
|
142
|
+
return [
|
|
143
|
+
"read blocking_reasons",
|
|
144
|
+
"run the recommended maintenance/read-only diagnostics",
|
|
145
|
+
"resume only after handoff_ok is true",
|
|
146
|
+
];
|
|
147
|
+
}
|
|
148
|
+
return unique([
|
|
149
|
+
"load only workflow.read_order.must_read first",
|
|
150
|
+
"use current_work_item.next_action when active_queue.status is found",
|
|
151
|
+
"continue with workflow.next_command only when no queue-local action is available",
|
|
152
|
+
"load raw evidence only when evidence.raw_evidence_only_if applies",
|
|
153
|
+
]);
|
|
154
|
+
}
|
|
155
|
+
function allowedActionsFor(handoff, currentWorkItem) {
|
|
156
|
+
if (!handoff.handoff_ok) {
|
|
157
|
+
return ["repair trust blockers before implementation"];
|
|
158
|
+
}
|
|
159
|
+
if (currentWorkItem.status === "unknown") {
|
|
160
|
+
return ["run read-only diagnostics until behavior boundary is known"];
|
|
161
|
+
}
|
|
162
|
+
return unique([
|
|
163
|
+
currentWorkItem.next_action ?? "",
|
|
164
|
+
currentWorkItem.status === "selected" ? "continue only the selected change" : "",
|
|
165
|
+
currentWorkItem.status === "next_ready" ? "select the ready candidate before implementation" : "",
|
|
166
|
+
...currentWorkItem.owned_paths.map((path) => `edit owned path: ${path}`),
|
|
167
|
+
...currentWorkItem.validation_commands.map((command) => `run validation: ${command}`),
|
|
168
|
+
currentWorkItem.commit_evidence.required ? "record local commit evidence through openworkflow git-automation commit" : "",
|
|
169
|
+
]);
|
|
170
|
+
}
|
|
171
|
+
function forbiddenActionsFor(nextCommandCheck, currentWorkItem) {
|
|
172
|
+
const commandForbidden = nextCommandCheck?.forbidden_outputs.map((path) => `write forbidden command output: ${path}`) ?? [];
|
|
173
|
+
if (currentWorkItem.status === "unknown") {
|
|
174
|
+
return unique([
|
|
175
|
+
"select or implement work before active queue/current work item is known",
|
|
176
|
+
...commandForbidden,
|
|
177
|
+
]);
|
|
178
|
+
}
|
|
179
|
+
return unique([
|
|
180
|
+
...currentWorkItem.forbidden_paths.map((path) => `edit forbidden path: ${path}`),
|
|
181
|
+
...currentWorkItem.scope.excludes.map((item) => `out of scope: ${item}`),
|
|
182
|
+
...commandForbidden,
|
|
183
|
+
"push, create PRs, merge, or mutate remote state without explicit approval",
|
|
184
|
+
]);
|
|
185
|
+
}
|
|
186
|
+
function stopConditionsFor(handoff, brief, currentWorkItem) {
|
|
187
|
+
return unique([
|
|
188
|
+
...handoff.blocking_reasons,
|
|
189
|
+
...brief.workflow.blocked_by.map((item) => `CURRENT_STATE blocked_by: ${item}`),
|
|
190
|
+
brief.git.dirty ? "git worktree has uncommitted changes; classify ownership before editing" : "",
|
|
191
|
+
...(currentWorkItem.status === "unknown" ? ["active_queue.status is unknown and the task requires queue-specific mutation"] : []),
|
|
192
|
+
...(currentWorkItem.status !== "unknown" ? currentWorkItem.stop_if : []),
|
|
193
|
+
]);
|
|
194
|
+
}
|
|
195
|
+
function primaryContextFor(readOrder) {
|
|
196
|
+
return unique([
|
|
197
|
+
...readOrder.must_read,
|
|
198
|
+
"openworkflow resume --root . --json",
|
|
199
|
+
]);
|
|
200
|
+
}
|
|
201
|
+
function primaryEvidenceFor(activeQueue, currentWorkItem) {
|
|
202
|
+
return unique([
|
|
203
|
+
activeQueue.status === "found" ? activeQueue.queue_path : "",
|
|
204
|
+
currentWorkItem.status !== "unknown" ? currentWorkItem.selected_change_path ?? "" : "",
|
|
205
|
+
currentWorkItem.status !== "unknown" ? currentWorkItem.atom_tasks_path ?? "" : "",
|
|
206
|
+
currentWorkItem.status !== "unknown" ? currentWorkItem.implementation_brief_path ?? "" : "",
|
|
207
|
+
]);
|
|
208
|
+
}
|
|
209
|
+
function auxiliaryEvidenceFor(activeQueue, currentWorkItem) {
|
|
210
|
+
return unique([
|
|
211
|
+
activeQueue.status === "found" ? activeQueue.summary_path ?? "" : "",
|
|
212
|
+
currentWorkItem.status !== "unknown" ? currentWorkItem.commit_evidence.expected_path ?? "" : "",
|
|
213
|
+
...(activeQueue.status === "found" && activeQueue.completed_candidate?.selected_change_id
|
|
214
|
+
? [`completed candidate ${activeQueue.completed_candidate.id}: ${activeQueue.completed_candidate.selected_change_id}`]
|
|
215
|
+
: []),
|
|
216
|
+
]);
|
|
217
|
+
}
|
|
218
|
+
function comparisonEvidenceFor(activeQueue) {
|
|
219
|
+
return activeQueue.status === "found"
|
|
220
|
+
? activeQueue.alternatives.map((item) => `${item.queue_path}: ${item.reason}`)
|
|
221
|
+
: [];
|
|
222
|
+
}
|
|
223
|
+
function productAlignmentFor(activePointers) {
|
|
224
|
+
const available = Object.entries(activePointers)
|
|
225
|
+
.filter(([, value]) => typeof value === "string" && value.length > 0)
|
|
226
|
+
.map(([key, value]) => `${key}: ${value}`);
|
|
227
|
+
return {
|
|
228
|
+
active_pointers: activePointers,
|
|
229
|
+
available_context: available,
|
|
230
|
+
missing_context: available.length === 0 ? ["no active vision, validation, design, spec, decision, or accepted evidence pointer is registered"] : [],
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
function warningsFor(brief, nextCommandCheck, model, planningQueueWarnings) {
|
|
234
|
+
return unique([
|
|
235
|
+
...brief.health.workflow.warnings,
|
|
236
|
+
...brief.health.agents_md.warnings,
|
|
237
|
+
...Object.values(brief.health.adapters).flatMap((section) => section.warnings),
|
|
238
|
+
...brief.health.summaries.warnings,
|
|
239
|
+
...nextCommandCheck?.warnings ?? [],
|
|
240
|
+
...planningQueueWarnings,
|
|
241
|
+
...(model.active_queue.status === "unknown" ? model.active_queue.uncertainty : []),
|
|
242
|
+
...(model.current_work_item.status === "unknown" ? model.current_work_item.uncertainty : []),
|
|
243
|
+
]);
|
|
244
|
+
}
|
|
245
|
+
function printResume(model) {
|
|
246
|
+
console.log(`OpenWorkflow resume for ${model.project.title}`);
|
|
247
|
+
console.log(`root: ${model.project.root}`);
|
|
248
|
+
console.log(`handoff_ok: ${model.trust.handoff_ok}`);
|
|
249
|
+
console.log(`active_stage: ${model.workflow.active_stage ?? "unknown"}`);
|
|
250
|
+
console.log(`next_command: ${model.workflow.next_command ?? "none"}`);
|
|
251
|
+
console.log(`next_command_ready: ${model.trust.next_command_ready ?? "unknown"}`);
|
|
252
|
+
console.log(`active_queue: ${activeQueueLabel(model.active_queue)}`);
|
|
253
|
+
console.log(`current_work_item: ${currentWorkItemLabel(model.current_work_item)}`);
|
|
254
|
+
console.log(`git: available=${model.git.available}, branch=${model.git.branch ?? "none"}, dirty=${model.git.dirty}`);
|
|
255
|
+
printList("blocking_reasons", model.trust.blocking_reasons);
|
|
256
|
+
printList("must_read", model.workflow.read_order.must_read);
|
|
257
|
+
printList("immediate_actions", model.actions.immediate);
|
|
258
|
+
}
|
|
259
|
+
function activeQueueLabel(queue) {
|
|
260
|
+
if (queue.status === "unknown") {
|
|
261
|
+
return `unknown (${queue.reason})`;
|
|
262
|
+
}
|
|
263
|
+
return `${queue.plan_id} (${queue.breakpoint.status})`;
|
|
264
|
+
}
|
|
265
|
+
function currentWorkItemLabel(workItem) {
|
|
266
|
+
if (workItem.status === "unknown") {
|
|
267
|
+
return `unknown (${workItem.reason})`;
|
|
268
|
+
}
|
|
269
|
+
return `${workItem.status}${workItem.candidate_id ? ` ${workItem.candidate_id}` : ""}`;
|
|
270
|
+
}
|
|
271
|
+
function printList(label, values) {
|
|
272
|
+
console.log(`${label}:`);
|
|
273
|
+
for (const value of values.length > 0 ? values : ["none"]) {
|
|
274
|
+
console.log(` - ${value}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function unique(values) {
|
|
278
|
+
return [...new Set(values.filter((value) => value.trim().length > 0))];
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../packages/cli/src/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAA0G,MAAM,mDAAmD,CAAC;AACrM,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAA8B,MAAM,6CAA6C,CAAC;AACjJ,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAkB,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwDzC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAoC;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;IAChD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,aAAa,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC/F,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAEhF,IAAI,IAAI,EAAE,CAAC;QACT,eAAe,CAAC;YACd,OAAO,EAAE,QAAQ;YACjB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;YAC1B,IAAI;YACJ,IAAI,EAAE,KAAK;YACX,QAAQ;YACR,MAAM,EAAE,YAAY;YACpB,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,YAAY,EAAE;YACvB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;SACtC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAiB,EACjB,gBAAuC,EACvC,OAAqB,EACrB,aAAmE;IAEnE,OAAO;QACL,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB,EAAE;YAChB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE;gBAChB,sCAAsC;gBACtC,+CAA+C;gBAC/C,gDAAgD;gBAChD,mDAAmD;gBACnD,iDAAiD;gBACjD,6BAA6B;aAC9B;YACD,oBAAoB,EAAE;gBACpB,yCAAyC;gBACzC,4BAA4B;gBAC5B,qDAAqD;gBACrD,uBAAuB;gBACvB,wCAAwC;aACzC;YACD,qBAAqB,EAAE;gBACrB,wBAAwB;gBACxB,iCAAiC;gBACjC,wDAAwD;aACzD;SACF;QACD,KAAK,EAAE;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,kBAAkB,EAAE,gBAAgB;SACrC;QACD,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;QAClD,OAAO,EAAE;YACP,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC;YAC/E,kBAAkB,EAAE,mBAAmB,CAAC,OAAO,CAAC;YAChD,eAAe,EAAE,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC;YAC5E,iBAAiB,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,aAAa,CAAC,iBAAiB,CAAC;YACzF,eAAe,EAAE,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC;YACnF,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC;SAC5E;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;YACtD,OAAO,EAAE,kBAAkB,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,iBAAiB,CAAC;YACxF,SAAS,EAAE,oBAAoB,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,iBAAiB,CAAC;YAC5F,UAAU,EAAE,qBAAqB,CAAC,aAAa,CAAC,YAAY,CAAC;YAC7D,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,oBAAoB;YAC7D,kBAAkB,EAAE,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,iBAAiB,CAAC;SACrG;QACD,iBAAiB,EAAE,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC;QAC/D,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO,EAAE;YACP,OAAO;YACP,kBAAkB;YAClB,SAAS;YACT,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,oBAAoB;YACpB,wBAAwB;YACxB,GAAG,aAAa,CAAC,OAAO;SACzB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAwC,EAAE,eAAiD;IACtH,OAAO,MAAM,CAAC;QACZ,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;QAC/D,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE;QAClF,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpI,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAqB,EAAE,KAAiB,EAAE,eAAiD;IACtH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;YACZ,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAC7E,GAAG,OAAO,CAAC,YAAY;YACvB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,8EAA8E,CAAC,CAAC,CAAC,EAAE;SACtG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;QACZ,uDAAuD;QACvD,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC7E,GAAG,OAAO,CAAC,YAAY;KACxB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAqB;IAChD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,uBAAuB;YACvB,uDAAuD;YACvD,sCAAsC;SACvC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;QACZ,+CAA+C;QAC/C,qEAAqE;QACrE,kFAAkF;QAClF,mEAAmE;KACpE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB,EAAE,eAAiD;IACjG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,6CAA6C,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,4DAA4D,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;QACZ,eAAe,CAAC,WAAW,IAAI,EAAE;QACjC,eAAe,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE;QAChF,eAAe,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE;QACjG,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE,CAAC;QACxE,GAAG,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,OAAO,EAAE,CAAC;QACrF,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,EAAE;KAC1H,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,gBAAuC,EAAE,eAAiD;IACrH,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mCAAmC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5H,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC;YACZ,yEAAyE;YACzE,GAAG,gBAAgB;SACpB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;QACZ,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,IAAI,EAAE,CAAC;QAChF,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACxE,GAAG,gBAAgB;QACnB,2EAA2E;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB,EAAE,KAAiB,EAAE,eAAiD;IACpH,OAAO,MAAM,CAAC;QACZ,GAAG,OAAO,CAAC,gBAAgB;QAC3B,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,IAAI,EAAE,CAAC;QAC/E,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,EAAE;QAChG,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,8EAA8E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjI,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAoB;IAC7C,OAAO,MAAM,CAAC;QACZ,GAAG,SAAS,CAAC,SAAS;QACtB,qCAAqC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAwC,EAAE,eAAiD;IACrH,OAAO,MAAM,CAAC;QACZ,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC5D,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QACtF,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QACjF,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC5F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAwC,EAAE,eAAiD;IACvH,OAAO,MAAM,CAAC;QACZ,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QACpE,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/F,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,CAAC,mBAAmB,EAAE,kBAAkB;YACvF,CAAC,CAAC,CAAC,uBAAuB,WAAW,CAAC,mBAAmB,CAAC,EAAE,KAAK,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;YACtH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAwC;IACrE,OAAO,WAAW,CAAC,MAAM,KAAK,OAAO;QACnC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,mBAAmB,CAAC,cAA6C;IACxE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACpE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;IAC7C,OAAO;QACL,eAAe,EAAE,cAAc;QAC/B,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kGAAkG,CAAC,CAAC,CAAC,CAAC,EAAE;KACpJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,KAAiB,EACjB,gBAAuC,EACvC,KAAkB,EAClB,qBAA+B;IAE/B,OAAO,MAAM,CAAC;QACZ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;QACjC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ;QAClC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9E,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ;QAClC,GAAG,gBAAgB,EAAE,QAAQ,IAAI,EAAE;QACnC,GAAG,qBAAqB;QACxB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,KAAK,CAAC,kBAAkB,IAAI,SAAS,EAAE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,iBAAiB,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,sBAAsB,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,GAAG,CAAC,SAAS,YAAY,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,WAAW,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACrH,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC5D,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkC;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA0C;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,YAAY,QAAQ,CAAC,MAAM,GAAG,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,MAAgB;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { basename, resolve } from "node:path";
|
|
1
2
|
export function parseTools(raw) {
|
|
2
3
|
if (!raw) {
|
|
3
4
|
return [];
|
|
@@ -5,8 +6,11 @@ export function parseTools(raw) {
|
|
|
5
6
|
return raw.split(",").map((tool) => tool.trim()).filter(Boolean);
|
|
6
7
|
}
|
|
7
8
|
export function basenameForTitle(path) {
|
|
8
|
-
const
|
|
9
|
-
|
|
9
|
+
const name = basename(resolve(path));
|
|
10
|
+
if (!name || name === "." || name === "..") {
|
|
11
|
+
return "OpenWorkflow Project";
|
|
12
|
+
}
|
|
13
|
+
return name;
|
|
10
14
|
}
|
|
11
15
|
export function slugify(value) {
|
|
12
16
|
return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "project";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../packages/cli/src/commands/shared.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAuB;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../packages/cli/src/commands/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,UAAU,UAAU,CAAC,GAAuB;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAkB;IAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function summariesCommand(flags: Map<string, string | boolean>): Promise<number>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { evaluateSummaryHealth, evaluateSummaryQualityGate, } from "../../../core/src/workflow/summaryHealth.js";
|
|
3
|
+
import { booleanFlag, stringFlag } from "../args.js";
|
|
4
|
+
import { emptyEffects, printJsonReport } from "../report.js";
|
|
5
|
+
export async function summariesCommand(flags) {
|
|
6
|
+
const root = resolve(stringFlag(flags, "root", ".") ?? ".");
|
|
7
|
+
const json = booleanFlag(flags, "json");
|
|
8
|
+
const strict = booleanFlag(flags, "strict");
|
|
9
|
+
const health = await evaluateSummaryHealth(root);
|
|
10
|
+
const qualityGate = evaluateSummaryQualityGate(health, strict);
|
|
11
|
+
const ok = health.ok && qualityGate.ok;
|
|
12
|
+
if (json) {
|
|
13
|
+
const healthErrors = healthErrorsForSummaries(health, qualityGate);
|
|
14
|
+
printJsonReport({
|
|
15
|
+
command: "summaries",
|
|
16
|
+
ok,
|
|
17
|
+
root,
|
|
18
|
+
data: {
|
|
19
|
+
...health,
|
|
20
|
+
strict_quality: qualityGate,
|
|
21
|
+
},
|
|
22
|
+
warnings: health.warnings,
|
|
23
|
+
errors: health.initialized ? [] : health.warnings,
|
|
24
|
+
health_errors: healthErrors,
|
|
25
|
+
effects: emptyEffects(),
|
|
26
|
+
next_actions: nextActionsFor(health, qualityGate),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
printSummaries(health, qualityGate);
|
|
31
|
+
}
|
|
32
|
+
return ok ? 0 : 1;
|
|
33
|
+
}
|
|
34
|
+
function healthErrorsForSummaries(health, qualityGate) {
|
|
35
|
+
const freshnessErrors = health.ok
|
|
36
|
+
? []
|
|
37
|
+
: health.warnings.length > 0 ? health.warnings : ["summary health is not ok"];
|
|
38
|
+
return unique([...freshnessErrors, ...qualityGate.health_errors]);
|
|
39
|
+
}
|
|
40
|
+
function nextActionsFor(health, qualityGate) {
|
|
41
|
+
const strictActions = qualityGate.health_errors.length > 0
|
|
42
|
+
? ["repair thin source artifacts or inspect raw evidence before trusting summaries"]
|
|
43
|
+
: [];
|
|
44
|
+
return unique([...health.next_actions, ...strictActions]);
|
|
45
|
+
}
|
|
46
|
+
function printSummaries(health, qualityGate) {
|
|
47
|
+
console.log("OpenWorkflow summary health");
|
|
48
|
+
console.log(`ok: ${health.ok && qualityGate.ok}`);
|
|
49
|
+
console.log(`strict_quality: ${qualityGate.strict}`);
|
|
50
|
+
console.log(`initialized: ${health.initialized}`);
|
|
51
|
+
if (!health.initialized) {
|
|
52
|
+
for (const warning of health.warnings) {
|
|
53
|
+
console.log(`warning: ${warning}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
console.log(`counts: current=${health.counts.current}, missing=${health.counts.missing}, stale_unknown=${health.counts.stale_unknown}, not_instantiated=${health.counts.not_instantiated}, not_applicable=${health.counts.not_applicable}`);
|
|
57
|
+
for (const entry of health.entries) {
|
|
58
|
+
if (entry.strategy === "none") {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
console.log(`${entry.artifact_type}: ${entry.status} (${entry.instantiated_count} instantiated, ${entry.strategy})`);
|
|
62
|
+
for (const item of entry.items.filter((candidate) => candidate.quality_status === "current_but_thin")) {
|
|
63
|
+
console.log(` quality: ${item.quality_status} (${item.artifact_path})`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const nextActions = nextActionsFor(health, qualityGate);
|
|
67
|
+
if (nextActions.length > 0) {
|
|
68
|
+
console.log("next_actions:");
|
|
69
|
+
for (const action of nextActions) {
|
|
70
|
+
console.log(` - ${action}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function unique(values) {
|
|
75
|
+
return [...new Set(values.filter((value) => value.trim().length > 0))];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=summaries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summaries.js","sourceRoot":"","sources":["../../../../packages/cli/src/commands/summaries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function summarizeCommand(flags: Map<string, string | boolean>): Promise<number>;
|