@tiic-tech/openworkflow 0.1.0 → 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/README.md +10 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.d.ts +7 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.js +99 -0
- package/dist/adapters/codex/src/cleanCodexAdapter.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/cli/src/commands/clean.js +98 -0
- package/dist/cli/src/commands/clean.js.map +1 -0
- 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.d.ts +2 -0
- package/dist/cli/src/dev/verifyCleanCommand.js +338 -0
- package/dist/cli/src/dev/verifyCleanCommand.js.map +1 -0
- 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 +189 -5
- 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 +2327 -306
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -1
- package/dist/core/src/workflow/cleanOpenWorkflow.d.ts +18 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js +124 -0
- package/dist/core/src/workflow/cleanOpenWorkflow.js.map +1 -0
- 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 +4 -2
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"summaryHealth.js","sourceRoot":"","sources":["../../../../packages/core/src/workflow/summaryHealth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { InitOptions } from "../contracts/index.js";
|
|
2
|
+
export interface WorkflowSyncResult {
|
|
3
|
+
added: string[];
|
|
4
|
+
updated: string[];
|
|
5
|
+
unchanged: string[];
|
|
6
|
+
preserved: string[];
|
|
7
|
+
warnings: string[];
|
|
8
|
+
migrationNotes: string[];
|
|
9
|
+
stateReconciliation: StateReconciliationResult;
|
|
10
|
+
}
|
|
11
|
+
export interface StateReconciliationResult {
|
|
12
|
+
attempted: boolean;
|
|
13
|
+
reconciled: boolean;
|
|
14
|
+
reason: string;
|
|
15
|
+
current_state_path: string;
|
|
16
|
+
restored_pointers: Record<string, string>;
|
|
17
|
+
active_stage: string | null;
|
|
18
|
+
next_command: string | null;
|
|
19
|
+
read_this_first: string[];
|
|
20
|
+
warnings: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare function syncOpenWorkflow(options: InitOptions): Promise<WorkflowSyncResult>;
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { getDiscoveryArtifactContracts } from "../artifacts/registry.js";
|
|
4
|
+
import { dumpYaml, parseYaml } from "../contracts/yaml.js";
|
|
5
|
+
import { isNotFound, readTextFile } from "../fs/index.js";
|
|
6
|
+
import { renderOpenWorkflowManagedFiles } from "./initOpenWorkflow.js";
|
|
7
|
+
export async function syncOpenWorkflow(options) {
|
|
8
|
+
const added = [];
|
|
9
|
+
const updated = [];
|
|
10
|
+
const unchanged = [];
|
|
11
|
+
const preserved = [];
|
|
12
|
+
const warnings = [];
|
|
13
|
+
const migrationNotes = [];
|
|
14
|
+
let shouldReconcileCurrentState = false;
|
|
15
|
+
for (const file of renderOpenWorkflowManagedFiles(options)) {
|
|
16
|
+
const path = join(options.root, file.relativePath);
|
|
17
|
+
const existing = await readOptional(path);
|
|
18
|
+
if (existing === null) {
|
|
19
|
+
await writeManaged(path, file.content);
|
|
20
|
+
added.push(path);
|
|
21
|
+
migrationNotes.push(`added missing managed workflow file: ${file.relativePath}`);
|
|
22
|
+
if (file.relativePath === ".openworkflow/CURRENT_STATE.yaml") {
|
|
23
|
+
shouldReconcileCurrentState = true;
|
|
24
|
+
}
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (existing === file.content) {
|
|
28
|
+
unchanged.push(path);
|
|
29
|
+
if (file.relativePath === ".openworkflow/CURRENT_STATE.yaml") {
|
|
30
|
+
shouldReconcileCurrentState = true;
|
|
31
|
+
}
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (file.refreshPolicy === "missing-only") {
|
|
35
|
+
preserved.push(path);
|
|
36
|
+
migrationNotes.push(`preserved existing workflow state file: ${file.relativePath}`);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
await writeManaged(path, file.content);
|
|
40
|
+
updated.push(path);
|
|
41
|
+
migrationNotes.push(`refreshed managed workflow file: ${file.relativePath}`);
|
|
42
|
+
}
|
|
43
|
+
const stateReconciliation = await reconcileCurrentState(options.root, shouldReconcileCurrentState);
|
|
44
|
+
warnings.push(...stateReconciliation.warnings);
|
|
45
|
+
if (stateReconciliation.reconciled) {
|
|
46
|
+
const currentStatePath = join(options.root, ".openworkflow", "CURRENT_STATE.yaml");
|
|
47
|
+
if (!updated.includes(currentStatePath)) {
|
|
48
|
+
updated.push(currentStatePath);
|
|
49
|
+
}
|
|
50
|
+
migrationNotes.push(`reconciled CURRENT_STATE.yaml from preserved indexes: ${Object.keys(stateReconciliation.restored_pointers).join(", ")}`);
|
|
51
|
+
}
|
|
52
|
+
return { added, updated, unchanged, preserved, warnings, migrationNotes, stateReconciliation };
|
|
53
|
+
}
|
|
54
|
+
async function readOptional(path) {
|
|
55
|
+
try {
|
|
56
|
+
return await readTextFile(path);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
if (isNotFound(error)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async function writeManaged(path, content) {
|
|
66
|
+
await mkdir(dirname(path), { recursive: true });
|
|
67
|
+
await writeFile(path, content, "utf8");
|
|
68
|
+
}
|
|
69
|
+
async function reconcileCurrentState(root, shouldAttempt) {
|
|
70
|
+
const currentStatePath = ".openworkflow/CURRENT_STATE.yaml";
|
|
71
|
+
const empty = emptyReconciliation(currentStatePath, shouldAttempt ? "no_current_pointers_found" : "current_state_preserved");
|
|
72
|
+
if (!shouldAttempt) {
|
|
73
|
+
return empty;
|
|
74
|
+
}
|
|
75
|
+
const state = await readYamlRecordOptional(join(root, currentStatePath));
|
|
76
|
+
if (!state) {
|
|
77
|
+
return {
|
|
78
|
+
...empty,
|
|
79
|
+
attempted: true,
|
|
80
|
+
reason: "current_state_missing_after_sync",
|
|
81
|
+
warnings: ["CURRENT_STATE.yaml could not be read after sync wrote managed files"],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const restoredPointers = {};
|
|
85
|
+
const readThisFirst = [
|
|
86
|
+
".openworkflow/CURRENT_STATE.yaml",
|
|
87
|
+
".openworkflow/workflow/WORKFLOW_INDEX.yaml",
|
|
88
|
+
".openworkflow/audit/COMMAND_AUDIT_INDEX.yaml",
|
|
89
|
+
".openworkflow/audit/ARTIFACT_CONTRACTS.yaml",
|
|
90
|
+
];
|
|
91
|
+
const warnings = [];
|
|
92
|
+
let activeStage = null;
|
|
93
|
+
let nextCommand = null;
|
|
94
|
+
for (const contract of getDiscoveryArtifactContracts()) {
|
|
95
|
+
const recovered = await recoverPointer(root, contract);
|
|
96
|
+
warnings.push(...recovered.warnings);
|
|
97
|
+
if (!recovered.path) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
restoredPointers[contract.activePointer.pointerKey] = recovered.path;
|
|
101
|
+
readThisFirst.push(contract.indexPath, recovered.path);
|
|
102
|
+
activeStage = contract.contractType;
|
|
103
|
+
nextCommand = inferNextCommand(contract, recovered.artifact);
|
|
104
|
+
}
|
|
105
|
+
if (Object.keys(restoredPointers).length === 0) {
|
|
106
|
+
return {
|
|
107
|
+
...empty,
|
|
108
|
+
attempted: true,
|
|
109
|
+
warnings,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const reconciledState = {
|
|
113
|
+
...state,
|
|
114
|
+
active_stage: activeStage,
|
|
115
|
+
...restoredPointers,
|
|
116
|
+
next_command: nextCommand,
|
|
117
|
+
read_this_first: unique(readThisFirst),
|
|
118
|
+
};
|
|
119
|
+
await writeManaged(join(root, currentStatePath), dumpYaml(reconciledState));
|
|
120
|
+
return {
|
|
121
|
+
attempted: true,
|
|
122
|
+
reconciled: true,
|
|
123
|
+
reason: "restored_from_preserved_indexes",
|
|
124
|
+
current_state_path: currentStatePath,
|
|
125
|
+
restored_pointers: restoredPointers,
|
|
126
|
+
active_stage: activeStage,
|
|
127
|
+
next_command: nextCommand,
|
|
128
|
+
read_this_first: unique(readThisFirst),
|
|
129
|
+
warnings,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
async function recoverPointer(root, contract) {
|
|
133
|
+
const warnings = [];
|
|
134
|
+
const index = await readYamlRecordOptional(join(root, contract.indexPath));
|
|
135
|
+
if (!index) {
|
|
136
|
+
return { path: null, artifact: null, warnings };
|
|
137
|
+
}
|
|
138
|
+
const pointer = index[contract.activePointer.pointerKey];
|
|
139
|
+
if (pointer === null || pointer === undefined) {
|
|
140
|
+
return { path: null, artifact: null, warnings };
|
|
141
|
+
}
|
|
142
|
+
if (typeof pointer !== "string" || pointer.length === 0) {
|
|
143
|
+
warnings.push(`${contract.indexPath} has invalid ${contract.activePointer.pointerKey}; CURRENT_STATE could not recover ${contract.artifactType}`);
|
|
144
|
+
return { path: null, artifact: null, warnings };
|
|
145
|
+
}
|
|
146
|
+
const collection = index[contract.activePointer.collectionKey];
|
|
147
|
+
if (!Array.isArray(collection)) {
|
|
148
|
+
warnings.push(`${contract.indexPath} missing ${contract.activePointer.collectionKey}; CURRENT_STATE could not recover ${contract.artifactType}`);
|
|
149
|
+
return { path: null, artifact: null, warnings };
|
|
150
|
+
}
|
|
151
|
+
const entry = collection.find((item) => isRecord(item) && item[contract.activePointer.idKey] === pointer);
|
|
152
|
+
if (!isRecord(entry)) {
|
|
153
|
+
warnings.push(`${contract.indexPath} ${contract.activePointer.pointerKey} references missing entry ${pointer}`);
|
|
154
|
+
return { path: null, artifact: null, warnings };
|
|
155
|
+
}
|
|
156
|
+
const artifactPath = entry[contract.activePointer.pathKey];
|
|
157
|
+
if (typeof artifactPath !== "string" || artifactPath.length === 0) {
|
|
158
|
+
warnings.push(`${contract.indexPath} entry ${pointer} missing ${contract.activePointer.pathKey}; CURRENT_STATE could not recover ${contract.artifactType}`);
|
|
159
|
+
return { path: null, artifact: null, warnings };
|
|
160
|
+
}
|
|
161
|
+
const artifact = await readYamlRecordOptional(join(root, artifactPath));
|
|
162
|
+
if (!artifact) {
|
|
163
|
+
warnings.push(`${contract.indexPath} entry ${pointer} references unreadable artifact: ${artifactPath}`);
|
|
164
|
+
}
|
|
165
|
+
return { path: artifactPath, artifact, warnings };
|
|
166
|
+
}
|
|
167
|
+
function inferNextCommand(contract, artifact) {
|
|
168
|
+
const handoff = artifact ? valueAtPath(artifact, contract.handoffKey) : null;
|
|
169
|
+
if (typeof handoff === "string" && handoff.startsWith("/ow:")) {
|
|
170
|
+
return handoff;
|
|
171
|
+
}
|
|
172
|
+
return fallbackNextCommand(contract.artifactType);
|
|
173
|
+
}
|
|
174
|
+
function fallbackNextCommand(artifactType) {
|
|
175
|
+
if (artifactType === "vision_session") {
|
|
176
|
+
return "/ow:validation";
|
|
177
|
+
}
|
|
178
|
+
if (artifactType === "validation_target") {
|
|
179
|
+
return "/ow:proto";
|
|
180
|
+
}
|
|
181
|
+
if (artifactType === "prototype_evidence") {
|
|
182
|
+
return "/ow:tune";
|
|
183
|
+
}
|
|
184
|
+
if (artifactType === "product_design") {
|
|
185
|
+
return "/ow:spec";
|
|
186
|
+
}
|
|
187
|
+
if (artifactType === "production_spec") {
|
|
188
|
+
return "/ow:change";
|
|
189
|
+
}
|
|
190
|
+
if (artifactType === "production_change") {
|
|
191
|
+
return "/ow:team";
|
|
192
|
+
}
|
|
193
|
+
if (artifactType === "team_runtime") {
|
|
194
|
+
return "/ow:team";
|
|
195
|
+
}
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
function valueAtPath(record, path) {
|
|
199
|
+
let current = record;
|
|
200
|
+
for (const part of path.split(".")) {
|
|
201
|
+
if (!isRecord(current)) {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
current = current[part];
|
|
205
|
+
}
|
|
206
|
+
return current;
|
|
207
|
+
}
|
|
208
|
+
async function readYamlRecordOptional(path) {
|
|
209
|
+
const content = await readOptional(path);
|
|
210
|
+
if (content === null) {
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
const parsed = parseYaml(content);
|
|
214
|
+
return isRecord(parsed) ? parsed : null;
|
|
215
|
+
}
|
|
216
|
+
function emptyReconciliation(currentStatePath, reason) {
|
|
217
|
+
return {
|
|
218
|
+
attempted: reason !== "current_state_preserved",
|
|
219
|
+
reconciled: false,
|
|
220
|
+
reason,
|
|
221
|
+
current_state_path: currentStatePath,
|
|
222
|
+
restored_pointers: {},
|
|
223
|
+
active_stage: null,
|
|
224
|
+
next_command: null,
|
|
225
|
+
read_this_first: [],
|
|
226
|
+
warnings: [],
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
function unique(values) {
|
|
230
|
+
return [...new Set(values)];
|
|
231
|
+
}
|
|
232
|
+
function isRecord(value) {
|
|
233
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=syncOpenWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncOpenWorkflow.js","sourceRoot":"","sources":["../../../../packages/core/src/workflow/syncOpenWorkflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tiic-tech/openworkflow",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Contract-first workflow system for AI-assisted software development.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -37,8 +37,10 @@
|
|
|
37
37
|
"validate": "npm run build && node dist/cli/src/dev/validateRepositoryContractsCli.js --root .",
|
|
38
38
|
"verify:runtime-surface": "npm run build && node dist/cli/src/dev/verifyRuntimeSurface.js",
|
|
39
39
|
"verify:e2e-workflow": "npm run build && node dist/cli/src/dev/verifyWorkflowE2E.js",
|
|
40
|
+
"verify:agent-e2e": "npm run build && node dist/cli/src/dev/verifyAgentE2E.js",
|
|
41
|
+
"verify:clean": "npm run build && node dist/cli/src/dev/verifyCleanCommand.js",
|
|
40
42
|
"prepack": "npm run build",
|
|
41
|
-
"prepublishOnly": "npm run validate && npm run verify:runtime-surface && npm run verify:e2e-workflow",
|
|
43
|
+
"prepublishOnly": "npm run validate && npm run verify:runtime-surface && npm run verify:e2e-workflow && npm run verify:clean",
|
|
42
44
|
"validate:cli": "node dist/cli/src/index.js validate --root /tmp/openworkflow-m04-smoke",
|
|
43
45
|
"smoke:init": "node dist/cli/src/index.js init /tmp/openworkflow-m04-smoke --tools codex --force"
|
|
44
46
|
},
|
|
@@ -56,18 +56,20 @@ artifacts out of context until requested.
|
|
|
56
56
|
|
|
57
57
|
## Prototype Evidence Shape
|
|
58
58
|
|
|
59
|
-
Prototype evidence should keep
|
|
60
|
-
For `/ow:proto`, record
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
`
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
Prototype evidence should keep prompt-pack intent, review evidence, and
|
|
60
|
+
downstream implementation work separate. For `/ow:proto`, record
|
|
61
|
+
`prototype_mode: image_prompt_pack`, `prompt_pack_type`,
|
|
62
|
+
`validation_input.mode`, source refs, strategic directions, negative
|
|
63
|
+
constraints, review plan, generated image refs, result, and handoff. The generic
|
|
64
|
+
`evidence` list may still point to the most important files, but downstream
|
|
65
|
+
agents should not have to infer whether an artifact is a strategic prompt pack,
|
|
66
|
+
a refined prompt pack, a generated image, or review evidence.
|
|
67
|
+
|
|
68
|
+
`/ow:proto` and `/ow:tune` should not write HTML, CSS, runnable prototypes,
|
|
69
|
+
production specs, or changes. If no validation artifact exists, record
|
|
70
|
+
`validation_input.mode: vision_only` or `internally_derived`; if a validation
|
|
71
|
+
artifact is explicitly present, record `validation_present` and include local
|
|
72
|
+
refs to the consumed validation artifacts.
|
|
71
73
|
|
|
72
74
|
## Decision Audit
|
|
73
75
|
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Artifact Instruction Envelope
|
|
2
|
+
|
|
3
|
+
This reference defines a possible dynamic instruction layer for OpenWorkflow.
|
|
4
|
+
It is a design contract only. It does not add a CLI command, generated runtime
|
|
5
|
+
surface, or artifact schema.
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
OpenWorkflow should keep runtime skills static and repo-local. Static skills
|
|
10
|
+
define what `/ow:*` commands mean: required context, forbidden context, allowed
|
|
11
|
+
outputs, handoff gates, and durable artifact boundaries.
|
|
12
|
+
|
|
13
|
+
Dynamic instruction envelopes are useful as a future per-artifact or per-task
|
|
14
|
+
output layer, not as a replacement for skills. They should be generated only
|
|
15
|
+
when an agent needs a narrow implementation packet for a selected artifact,
|
|
16
|
+
selected change, or selected atom task.
|
|
17
|
+
|
|
18
|
+
Do not implement a public envelope command yet. For now, treat this as a design
|
|
19
|
+
pattern that can later be attached to `brief`, `context`, `inspect`, or a new
|
|
20
|
+
explicit command after a separate change accepts the product surface.
|
|
21
|
+
|
|
22
|
+
## When To Use An Envelope
|
|
23
|
+
|
|
24
|
+
Use a dynamic envelope when the agent needs executable guidance for a specific
|
|
25
|
+
unit of work:
|
|
26
|
+
|
|
27
|
+
- selected change implementation
|
|
28
|
+
- selected atom task execution
|
|
29
|
+
- artifact repair
|
|
30
|
+
- focused verification
|
|
31
|
+
- handoff from one command stage to the next
|
|
32
|
+
|
|
33
|
+
Do not use an envelope for durable product truth. Durable truth belongs in the
|
|
34
|
+
artifact itself, its index, summary, or current-state pointer.
|
|
35
|
+
|
|
36
|
+
## Candidate Shape
|
|
37
|
+
|
|
38
|
+
An envelope may use XML-like tags when boundaries matter more than human
|
|
39
|
+
editing:
|
|
40
|
+
|
|
41
|
+
```xml
|
|
42
|
+
<instruction_envelope>
|
|
43
|
+
<task>
|
|
44
|
+
Implement the selected atom task without widening scope.
|
|
45
|
+
</task>
|
|
46
|
+
|
|
47
|
+
<context>
|
|
48
|
+
Load the selected change, atom tasks, and only the referenced source files.
|
|
49
|
+
</context>
|
|
50
|
+
|
|
51
|
+
<rules>
|
|
52
|
+
- Stay inside owned_paths.
|
|
53
|
+
- Do not create forbidden_outputs.
|
|
54
|
+
- Record blockers instead of expanding scope.
|
|
55
|
+
</rules>
|
|
56
|
+
|
|
57
|
+
<dependencies>
|
|
58
|
+
- S001-skill-lifecycle-contract
|
|
59
|
+
</dependencies>
|
|
60
|
+
|
|
61
|
+
<output>
|
|
62
|
+
Return changed files, validation evidence, and remaining risks.
|
|
63
|
+
</output>
|
|
64
|
+
|
|
65
|
+
<success_criteria>
|
|
66
|
+
- Validation passes.
|
|
67
|
+
- Completion evidence is attached to the selected change.
|
|
68
|
+
</success_criteria>
|
|
69
|
+
</instruction_envelope>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Candidate tags:
|
|
73
|
+
|
|
74
|
+
- `<task>`: the exact work to perform.
|
|
75
|
+
- `<context>`: required and optional context packets.
|
|
76
|
+
- `<rules>`: constraints that must be followed.
|
|
77
|
+
- `<dependencies>`: upstream artifacts or changes that must remain true.
|
|
78
|
+
- `<input>`: user-provided or artifact-provided inputs.
|
|
79
|
+
- `<output>`: expected response or file outputs.
|
|
80
|
+
- `<template>`: optional shape for a produced artifact.
|
|
81
|
+
- `<success_criteria>`: completion checks.
|
|
82
|
+
- `<handoff>`: downstream command or unresolved blocker.
|
|
83
|
+
|
|
84
|
+
## Format Choice
|
|
85
|
+
|
|
86
|
+
Use XML-like tags when an agent must distinguish instructions from content,
|
|
87
|
+
when there are multiple boundary types, or when leakage would be damaging.
|
|
88
|
+
|
|
89
|
+
Use Markdown when the envelope is mostly human-readable guidance and does not
|
|
90
|
+
need strict machine-locatable boundaries.
|
|
91
|
+
|
|
92
|
+
Use YAML when the output must be queried, diffed, merged, or validated as data.
|
|
93
|
+
Candidate queues, selected changes, atom tasks, current state, and artifact
|
|
94
|
+
indexes should remain YAML.
|
|
95
|
+
|
|
96
|
+
Do not serialize an entire artifact as XML-like instructions. Artifacts keep
|
|
97
|
+
their existing contract formats.
|
|
98
|
+
|
|
99
|
+
## Leakage Prevention
|
|
100
|
+
|
|
101
|
+
Instruction envelopes are agent constraints, not artifact content. Agents must
|
|
102
|
+
not copy envelope tags, internal rules, hidden critique prompts, or working
|
|
103
|
+
protocol into user-facing artifacts unless the artifact schema explicitly asks
|
|
104
|
+
for that field.
|
|
105
|
+
|
|
106
|
+
Every future envelope producer must follow these rules:
|
|
107
|
+
|
|
108
|
+
- Label the output as an instruction envelope, not an artifact.
|
|
109
|
+
- Name the target artifact or task id.
|
|
110
|
+
- Include owned paths and forbidden paths.
|
|
111
|
+
- Keep inner reasoning instructions out of durable artifacts.
|
|
112
|
+
- Strip envelope tags before writing Markdown notes, specs, or product docs.
|
|
113
|
+
- Prefer references to source artifacts over copying large source bodies.
|
|
114
|
+
- Include validation expectations and stop conditions.
|
|
115
|
+
|
|
116
|
+
## Relationship To Existing Surfaces
|
|
117
|
+
|
|
118
|
+
Static runtime skills live in `.agents/skills/ow-*/SKILL.md` and are generated
|
|
119
|
+
from command and artifact registries.
|
|
120
|
+
|
|
121
|
+
Dynamic envelopes, if implemented later, should be derived from the same source
|
|
122
|
+
contracts plus the selected artifact state. They should not fork command
|
|
123
|
+
semantics.
|
|
124
|
+
|
|
125
|
+
The likely future integration points are:
|
|
126
|
+
|
|
127
|
+
- `openworkflow brief --for /ow:<command>` for command-specific packets.
|
|
128
|
+
- `openworkflow context --handoff` for handoff-ready context.
|
|
129
|
+
- `select-change` output for selected change execution packets.
|
|
130
|
+
- `run-team` runtime handoff packets for agent teams.
|
|
131
|
+
|
|
132
|
+
Each integration point requires a separate change before it becomes product
|
|
133
|
+
behavior.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Coder Continuous Growth Loop
|
|
2
|
+
|
|
3
|
+
This reference defines when implementation lessons discovered under internal
|
|
4
|
+
coder governance can become durable OW source policy.
|
|
5
|
+
|
|
6
|
+
## Promotion Criteria
|
|
7
|
+
|
|
8
|
+
A lesson can be promoted only when it is:
|
|
9
|
+
|
|
10
|
+
- repeated across more than one implementation, validation, or review episode
|
|
11
|
+
- high leverage for future low-context Agents
|
|
12
|
+
- backed by auditable evidence such as a selected-change artifact, verifier
|
|
13
|
+
failure, GREEN validation result, review finding, or local commit evidence
|
|
14
|
+
- narrow enough to live in an existing source owner without creating a second
|
|
15
|
+
source of truth
|
|
16
|
+
|
|
17
|
+
Do not promote one-off preferences, temporary workarounds, unsupported memory
|
|
18
|
+
notes, or lessons whose evidence cannot be inspected from repo artifacts.
|
|
19
|
+
|
|
20
|
+
## Evidence Requirements
|
|
21
|
+
|
|
22
|
+
Every promoted lesson must name:
|
|
23
|
+
|
|
24
|
+
- the source event or selected change where it was observed
|
|
25
|
+
- the failure mode it prevents
|
|
26
|
+
- the source owner that should carry the policy
|
|
27
|
+
- the validation command or review evidence that proves the policy is useful
|
|
28
|
+
- the expected generated surfaces, if any, after sync
|
|
29
|
+
|
|
30
|
+
Implementation evidence can live in `LOCAL_COMMIT_EVIDENCE.yaml`,
|
|
31
|
+
`ATOM_TASKS.yaml`, `IMPLEMENTATION_BRIEF.md`, runtime checkpoints, or a focused
|
|
32
|
+
reference update. A future `CODER_EVIDENCE.yaml` may become a binding point only
|
|
33
|
+
after a later candidate defines that contract.
|
|
34
|
+
|
|
35
|
+
## Promotion Targets
|
|
36
|
+
|
|
37
|
+
Use the smallest durable owner:
|
|
38
|
+
|
|
39
|
+
- coder behavior and validation ladder: `skills/coder/SKILL.md`
|
|
40
|
+
- source-of-truth architecture rules: `references/`
|
|
41
|
+
- generated command behavior: `packages/core/src/commands/registry.ts`, then
|
|
42
|
+
`node dist/cli/src/index.js sync --root . --tools codex --json`
|
|
43
|
+
- adapter rendering behavior: adapter source or templates, then sync
|
|
44
|
+
- verifier expectations: `packages/cli/src/dev/verifyRuntimeSurface.ts`
|
|
45
|
+
|
|
46
|
+
Generated `.agents/**` and `.openworkflow/**` files are evidence of sync
|
|
47
|
+
results, not the durable source owner.
|
|
48
|
+
|
|
49
|
+
## Boundary With Future Project Memory
|
|
50
|
+
|
|
51
|
+
Coder policy is not project personality, product memory, or autonomous memory.
|
|
52
|
+
Do not write project-local `SOUL.md`, `MEMORY.md`, or free-form durable memory
|
|
53
|
+
from coder governance.
|
|
54
|
+
|
|
55
|
+
Future project memory work must define separate rules for consent, privacy,
|
|
56
|
+
retention, pruning, conflict resolution, and promotion from transient notes into
|
|
57
|
+
governed source policy.
|
|
58
|
+
|
|
59
|
+
## Review Gate
|
|
60
|
+
|
|
61
|
+
Before committing a promoted lesson, verify:
|
|
62
|
+
|
|
63
|
+
- the lesson is phrased as an actionable rule, not a vague preference
|
|
64
|
+
- the rule has one source owner
|
|
65
|
+
- generated surfaces are updated only through source-driven sync
|
|
66
|
+
- validation evidence is recorded in the selected change or commit evidence
|
|
67
|
+
- the policy does not create a new hard gate unless the selected candidate
|
|
68
|
+
explicitly owns enforcement
|