@tiic-tech/openworkflow 0.1.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/LICENSE +21 -0
- package/README.md +37 -0
- package/dist/adapters/codex/src/doctorCodexAdapter.d.ts +6 -0
- package/dist/adapters/codex/src/doctorCodexAdapter.js +124 -0
- package/dist/adapters/codex/src/doctorCodexAdapter.js.map +1 -0
- package/dist/adapters/codex/src/generateAgents.d.ts +2 -0
- package/dist/adapters/codex/src/generateAgents.js +40 -0
- package/dist/adapters/codex/src/generateAgents.js.map +1 -0
- package/dist/adapters/codex/src/generateCodexAdapter.d.ts +9 -0
- package/dist/adapters/codex/src/generateCodexAdapter.js +59 -0
- package/dist/adapters/codex/src/generateCodexAdapter.js.map +1 -0
- package/dist/adapters/codex/src/generateCommands.d.ts +6 -0
- package/dist/adapters/codex/src/generateCommands.js +205 -0
- package/dist/adapters/codex/src/generateCommands.js.map +1 -0
- package/dist/adapters/codex/src/generateSkills.d.ts +7 -0
- package/dist/adapters/codex/src/generateSkills.js +60 -0
- package/dist/adapters/codex/src/generateSkills.js.map +1 -0
- package/dist/adapters/codex/src/generatedFiles.d.ts +4 -0
- package/dist/adapters/codex/src/generatedFiles.js +67 -0
- package/dist/adapters/codex/src/generatedFiles.js.map +1 -0
- package/dist/adapters/codex/src/manifest.d.ts +4 -0
- package/dist/adapters/codex/src/manifest.js +40 -0
- package/dist/adapters/codex/src/manifest.js.map +1 -0
- package/dist/adapters/codex/src/templates.d.ts +7 -0
- package/dist/adapters/codex/src/templates.js +6 -0
- package/dist/adapters/codex/src/templates.js.map +1 -0
- package/dist/cli/src/args.d.ts +8 -0
- package/dist/cli/src/args.js +34 -0
- package/dist/cli/src/args.js.map +1 -0
- package/dist/cli/src/commands/doctor.d.ts +1 -0
- package/dist/cli/src/commands/doctor.js +26 -0
- package/dist/cli/src/commands/doctor.js.map +1 -0
- package/dist/cli/src/commands/init.d.ts +1 -0
- package/dist/cli/src/commands/init.js +52 -0
- package/dist/cli/src/commands/init.js.map +1 -0
- package/dist/cli/src/commands/shared.d.ts +4 -0
- package/dist/cli/src/commands/shared.js +19 -0
- package/dist/cli/src/commands/shared.js.map +1 -0
- package/dist/cli/src/commands/sync.d.ts +1 -0
- package/dist/cli/src/commands/sync.js +27 -0
- package/dist/cli/src/commands/sync.js.map +1 -0
- package/dist/cli/src/commands/validate.d.ts +1 -0
- package/dist/cli/src/commands/validate.js +17 -0
- package/dist/cli/src/commands/validate.js.map +1 -0
- package/dist/cli/src/dev/validateRepositoryContractsCli.d.ts +2 -0
- package/dist/cli/src/dev/validateRepositoryContractsCli.js +37 -0
- package/dist/cli/src/dev/validateRepositoryContractsCli.js.map +1 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.d.ts +2 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.js +344 -0
- package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -0
- package/dist/cli/src/dev/verifyWorkflowE2E.d.ts +2 -0
- package/dist/cli/src/dev/verifyWorkflowE2E.js +366 -0
- package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -0
- package/dist/cli/src/index.d.ts +2 -0
- package/dist/cli/src/index.js +51 -0
- package/dist/cli/src/index.js.map +1 -0
- package/dist/core/src/artifacts/registry.d.ts +53 -0
- package/dist/core/src/artifacts/registry.js +483 -0
- package/dist/core/src/artifacts/registry.js.map +1 -0
- package/dist/core/src/commands/registry.d.ts +36 -0
- package/dist/core/src/commands/registry.js +539 -0
- package/dist/core/src/commands/registry.js.map +1 -0
- package/dist/core/src/contracts/index.d.ts +23 -0
- package/dist/core/src/contracts/index.js +16 -0
- package/dist/core/src/contracts/index.js.map +1 -0
- package/dist/core/src/contracts/yaml.d.ts +2 -0
- package/dist/core/src/contracts/yaml.js +12 -0
- package/dist/core/src/contracts/yaml.js.map +1 -0
- package/dist/core/src/contracts.d.ts +23 -0
- package/dist/core/src/contracts.js +15 -0
- package/dist/core/src/contracts.js.map +1 -0
- package/dist/core/src/fs/index.d.ts +4 -0
- package/dist/core/src/fs/index.js +28 -0
- package/dist/core/src/fs/index.js.map +1 -0
- package/dist/core/src/fs.d.ts +4 -0
- package/dist/core/src/fs.js +28 -0
- package/dist/core/src/fs.js.map +1 -0
- package/dist/core/src/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/initOpenWorkflow.js +220 -0
- package/dist/core/src/initOpenWorkflow.js.map +1 -0
- package/dist/core/src/validateOpenWorkflow.d.ts +5 -0
- package/dist/core/src/validateOpenWorkflow.js +145 -0
- package/dist/core/src/validateOpenWorkflow.js.map +1 -0
- package/dist/core/src/validators/validateOpenWorkflow.d.ts +5 -0
- package/dist/core/src/validators/validateOpenWorkflow.js +551 -0
- package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -0
- package/dist/core/src/validators/validateRepositoryContracts.d.ts +2 -0
- package/dist/core/src/validators/validateRepositoryContracts.js +827 -0
- package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -0
- package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
- package/dist/core/src/workflow/initOpenWorkflow.js +182 -0
- package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -0
- package/dist/core/src/yaml.d.ts +2 -0
- package/dist/core/src/yaml.js +12 -0
- package/dist/core/src/yaml.js.map +1 -0
- package/package.json +55 -0
- package/references/artifact-authoring-templates.md +78 -0
- package/references/audit-first-discovery-loop.md +85 -0
- package/references/contract-graph.md +129 -0
- package/references/discovery-artifact-contracts.md +155 -0
- package/references/engineering-skill-reference-research.md +204 -0
- package/references/npm-cli-architecture.md +63 -0
- package/references/runtime-command-surface.md +169 -0
- package/schemas/artifact-contracts.schema.json +130 -0
- package/schemas/change.schema.json +71 -0
- package/schemas/contract-graph.schema.json +80 -0
- package/schemas/decision-record.schema.json +92 -0
- package/schemas/disclosure-levels.schema.json +66 -0
- package/schemas/openworkflow-contract.schema.json +88 -0
- package/schemas/product-design.schema.json +356 -0
- package/schemas/prototype-evidence.schema.json +325 -0
- package/schemas/prototype.schema.json +149 -0
- package/schemas/validation-target.schema.json +127 -0
- package/schemas/validation.schema.json +123 -0
- package/schemas/vision-session.schema.json +78 -0
- package/schemas/work-items.schema.json +87 -0
- package/schemas/workflow-index.schema.json +70 -0
- package/skills/build-prototype/SKILL.md +87 -0
- package/skills/build-prototype/agents/openai.yaml +4 -0
- package/skills/build-prototype/references/prototype-protocol.md +56 -0
- package/skills/build-prototype/scripts/init_prototype.py +260 -0
- package/skills/build-team/SKILL.md +292 -0
- package/skills/build-team/agents/openai.yaml +4 -0
- package/skills/build-team/references/runtime-schema.md +275 -0
- package/skills/build-team/references/team-protocol.md +244 -0
- package/skills/build-team/scripts/init_team_runtime.py +431 -0
- package/skills/build-validation/SKILL.md +81 -0
- package/skills/build-validation/agents/openai.yaml +4 -0
- package/skills/build-validation/references/validation-protocol.md +51 -0
- package/skills/build-validation/scripts/init_validation.py +194 -0
- package/skills/build-workflow/SKILL.md +65 -0
- package/skills/build-workflow/agents/openai.yaml +4 -0
- package/skills/build-workflow/references/workflow-layout.md +57 -0
- package/skills/build-workflow/scripts/init_workflow.py +423 -0
- package/skills/run-team/SKILL.md +93 -0
- package/skills/run-team/agents/openai.yaml +4 -0
- package/skills/run-team/references/delegation-and-agent-lifecycle.md +78 -0
- package/skills/run-team/references/run-loop.md +73 -0
- package/skills/run-team/references/runtime-audit.md +56 -0
- package/skills/run-team/references/scope-selection.md +64 -0
- package/skills/run-team/scripts/audit_team_runtime.py +173 -0
- package/skills/run-team/scripts/init_next_scope.py +304 -0
- package/templates/README.md +5 -0
- package/templates/codex/README.md +4 -0
- package/templates/openworkflow/README.md +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateRepositoryContracts.js","sourceRoot":"","sources":["../../../../packages/core/src/validators/validateRepositoryContracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { getDiscoveryArtifactContracts, getDisclosureLevels } from "../artifacts/registry.js";
|
|
3
|
+
import { getWorkflowCommands } from "../commands/registry.js";
|
|
4
|
+
import { SCHEMA_VERSION } from "../contracts/index.js";
|
|
5
|
+
import { dumpYaml } from "../contracts/yaml.js";
|
|
6
|
+
import { writeTextFile } from "../fs/index.js";
|
|
7
|
+
export async function initOpenWorkflow(options) {
|
|
8
|
+
const root = options.root;
|
|
9
|
+
const written = [];
|
|
10
|
+
const skipped = [];
|
|
11
|
+
await writeContract(root, ".openworkflow/workflow/WORKFLOW_INDEX.yaml", workflowIndex(options), options.force, written, skipped);
|
|
12
|
+
await writeContract(root, ".openworkflow/config.yaml", workflowConfig(options), options.force, written, skipped);
|
|
13
|
+
await writeContract(root, ".openworkflow/audit/COMMAND_AUDIT_INDEX.yaml", commandAuditIndex(options), options.force, written, skipped);
|
|
14
|
+
await writeContract(root, ".openworkflow/audit/CONTEXT_PACKETS.yaml", contextPackets(options), options.force, written, skipped);
|
|
15
|
+
await writeContract(root, ".openworkflow/audit/ARTIFACT_CONTRACTS.yaml", artifactContracts(options), options.force, written, skipped);
|
|
16
|
+
await writeContract(root, ".openworkflow/audit/DISCLOSURE_LEVELS.yaml", disclosureLevels(options), options.force, written, skipped);
|
|
17
|
+
for (const artifact of getDiscoveryArtifactContracts()) {
|
|
18
|
+
await writeContract(root, artifact.templatePath, dumpYaml(artifact.template), options.force, written, skipped);
|
|
19
|
+
}
|
|
20
|
+
return { root, written, skipped };
|
|
21
|
+
}
|
|
22
|
+
function workflowConfig(options) {
|
|
23
|
+
return dumpYaml({
|
|
24
|
+
project_slug: options.projectSlug,
|
|
25
|
+
project_title: options.projectTitle,
|
|
26
|
+
workflow_root: ".openworkflow",
|
|
27
|
+
tools: options.tools,
|
|
28
|
+
adapter_policy: {
|
|
29
|
+
source_of_truth: ".openworkflow",
|
|
30
|
+
default_command_delivery: options.tools.includes("codex") ? "codex-repo-skills" : "project-local",
|
|
31
|
+
generated_surfaces: generatedSurfaces(options.tools),
|
|
32
|
+
codex_skill_surface: options.tools.includes("codex")
|
|
33
|
+
? {
|
|
34
|
+
directory: ".agents/skills",
|
|
35
|
+
path_pattern: ".agents/skills/ow-<id>/SKILL.md",
|
|
36
|
+
interface_metadata: "agents/openai.yaml",
|
|
37
|
+
explicit_invocation: "$ow-<id>",
|
|
38
|
+
}
|
|
39
|
+
: null,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function generatedSurfaces(tools) {
|
|
44
|
+
const surfaces = [".openworkflow"];
|
|
45
|
+
if (tools.includes("codex")) {
|
|
46
|
+
surfaces.push(".agents/skills", ".agents/openworkflow-adapter.yaml");
|
|
47
|
+
}
|
|
48
|
+
return surfaces;
|
|
49
|
+
}
|
|
50
|
+
async function writeContract(root, relativePath, content, force, written, skipped) {
|
|
51
|
+
const path = join(root, relativePath);
|
|
52
|
+
const action = await writeTextFile(path, content, force);
|
|
53
|
+
track(action, path, written, skipped);
|
|
54
|
+
}
|
|
55
|
+
function track(action, path, written, skipped) {
|
|
56
|
+
if (action === "write") {
|
|
57
|
+
written.push(path);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
skipped.push(path);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function common(contractId, contractType, title, status = "active") {
|
|
64
|
+
return {
|
|
65
|
+
schema_version: SCHEMA_VERSION,
|
|
66
|
+
contract_id: contractId,
|
|
67
|
+
contract_type: contractType,
|
|
68
|
+
title,
|
|
69
|
+
status,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function workflowIndex(options) {
|
|
73
|
+
const workflowId = `workflow:${options.projectSlug}`;
|
|
74
|
+
return dumpYaml({
|
|
75
|
+
...common(workflowId, "workflow", `${options.projectTitle} workflow index`),
|
|
76
|
+
workflow_root: ".openworkflow",
|
|
77
|
+
active_change: null,
|
|
78
|
+
tools: options.tools,
|
|
79
|
+
contracts: [
|
|
80
|
+
contractEntry(workflowId, "workflow", ".openworkflow/workflow/WORKFLOW_INDEX.yaml", "active"),
|
|
81
|
+
contractEntry("audit:command-index", "workflow", ".openworkflow/audit/COMMAND_AUDIT_INDEX.yaml", "active"),
|
|
82
|
+
contractEntry("audit:context-packets", "workflow", ".openworkflow/audit/CONTEXT_PACKETS.yaml", "active"),
|
|
83
|
+
contractEntry("audit:artifact-contracts", "workflow", ".openworkflow/audit/ARTIFACT_CONTRACTS.yaml", "active"),
|
|
84
|
+
contractEntry("audit:disclosure-levels", "workflow", ".openworkflow/audit/DISCLOSURE_LEVELS.yaml", "active"),
|
|
85
|
+
],
|
|
86
|
+
updated_at: null,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function commandAuditIndex(options) {
|
|
90
|
+
return dumpYaml({
|
|
91
|
+
...common("audit:command-index", "workflow", `${options.projectTitle} command audit index`),
|
|
92
|
+
source_of_truth: ".openworkflow",
|
|
93
|
+
commands: getWorkflowCommands().map((command) => ({
|
|
94
|
+
id: command.id,
|
|
95
|
+
trigger: command.trigger,
|
|
96
|
+
stage: command.stage,
|
|
97
|
+
visibility: command.visibility,
|
|
98
|
+
depth: command.protocol?.depth ?? "shallow",
|
|
99
|
+
context_packet: `context:${command.id}`,
|
|
100
|
+
allowed_outputs: command.protocol?.allowedOutputs ?? command.targetArtifacts,
|
|
101
|
+
conditional_outputs: command.protocol?.conditionalOutputs ?? [],
|
|
102
|
+
forbidden_outputs: command.protocol?.forbiddenOutputs ?? [],
|
|
103
|
+
handoff_commands: command.protocol?.handoffCommands ?? [],
|
|
104
|
+
})),
|
|
105
|
+
updated_at: null,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function contextPackets(options) {
|
|
109
|
+
return dumpYaml({
|
|
110
|
+
...common("audit:context-packets", "workflow", `${options.projectTitle} context packets`),
|
|
111
|
+
packets: getWorkflowCommands().map((command) => ({
|
|
112
|
+
packet_id: `context:${command.id}`,
|
|
113
|
+
command: command.trigger,
|
|
114
|
+
visibility: command.visibility,
|
|
115
|
+
required: command.protocol?.requiredContext ?? [".openworkflow/workflow/WORKFLOW_INDEX.yaml"],
|
|
116
|
+
optional: command.protocol?.optionalContext ?? [],
|
|
117
|
+
forbidden: command.protocol?.forbiddenContext ?? [],
|
|
118
|
+
conditional_outputs: command.protocol?.conditionalOutputs ?? [],
|
|
119
|
+
audit_checkpoints: command.protocol?.auditCheckpoints ?? {
|
|
120
|
+
before: ["Confirm workflow index exists."],
|
|
121
|
+
during: ["Stay inside command scope."],
|
|
122
|
+
after: ["Record outputs in the relevant index."],
|
|
123
|
+
},
|
|
124
|
+
})),
|
|
125
|
+
updated_at: null,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
function artifactContracts(options) {
|
|
129
|
+
return dumpYaml({
|
|
130
|
+
...common("audit:artifact-contracts", "workflow", `${options.projectTitle} artifact contracts`),
|
|
131
|
+
source_of_truth: ".openworkflow",
|
|
132
|
+
artifacts: getDiscoveryArtifactContracts().map((artifact) => ({
|
|
133
|
+
artifact_type: artifact.artifactType,
|
|
134
|
+
contract_type: artifact.contractType,
|
|
135
|
+
command: artifact.command,
|
|
136
|
+
title: artifact.title,
|
|
137
|
+
source_of_truth_path: artifact.sourceOfTruthPath,
|
|
138
|
+
template_path: artifact.templatePath,
|
|
139
|
+
index_path: artifact.indexPath,
|
|
140
|
+
index_collection_key: artifact.indexCollectionKey,
|
|
141
|
+
note_path: artifact.notePath,
|
|
142
|
+
review_path: artifact.reviewPath,
|
|
143
|
+
disclosure_level: artifact.disclosureLevel,
|
|
144
|
+
required_keys: artifact.requiredKeys,
|
|
145
|
+
read_policy: {
|
|
146
|
+
load_by_default: artifact.readPolicy.loadByDefault,
|
|
147
|
+
agent_read_order: artifact.readPolicy.agentReadOrder,
|
|
148
|
+
max_yaml_lines: artifact.readPolicy.maxYamlLines,
|
|
149
|
+
max_note_lines: artifact.readPolicy.maxNoteLines,
|
|
150
|
+
raw_evidence: artifact.readPolicy.rawEvidence,
|
|
151
|
+
},
|
|
152
|
+
active_pointer: {
|
|
153
|
+
index_path: artifact.activePointer.indexPath,
|
|
154
|
+
pointer_key: artifact.activePointer.pointerKey,
|
|
155
|
+
collection_key: artifact.activePointer.collectionKey,
|
|
156
|
+
id_key: artifact.activePointer.idKey,
|
|
157
|
+
path_key: artifact.activePointer.pathKey,
|
|
158
|
+
},
|
|
159
|
+
evidence_policy: artifact.evidencePolicy,
|
|
160
|
+
handoff_key: artifact.handoffKey,
|
|
161
|
+
conditional_packets: artifact.conditionalPackets ?? [],
|
|
162
|
+
})),
|
|
163
|
+
updated_at: null,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function disclosureLevels(options) {
|
|
167
|
+
return dumpYaml({
|
|
168
|
+
...common("audit:disclosure-levels", "workflow", `${options.projectTitle} disclosure levels`),
|
|
169
|
+
levels: getDisclosureLevels().map((level) => ({
|
|
170
|
+
level: level.level,
|
|
171
|
+
name: level.name,
|
|
172
|
+
default_for_agents: level.defaultForAgents,
|
|
173
|
+
purpose: level.purpose,
|
|
174
|
+
examples: level.examples,
|
|
175
|
+
})),
|
|
176
|
+
updated_at: null,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
function contractEntry(contract_id, contract_type, path, status) {
|
|
180
|
+
return { contract_id, contract_type, path, status };
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=initOpenWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initOpenWorkflow.js","sourceRoot":"","sources":["../../../../packages/core/src/workflow/initOpenWorkflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import YAML from "yaml";
|
|
2
|
+
export function dumpYaml(value) {
|
|
3
|
+
return YAML.stringify(value, {
|
|
4
|
+
collectionStyle: "block",
|
|
5
|
+
lineWidth: 100,
|
|
6
|
+
nullStr: "null",
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
export function parseYaml(text) {
|
|
10
|
+
return YAML.parse(text);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=yaml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../packages/core/src/yaml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QAC3B,eAAe,EAAE,OAAO;QACxB,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tiic-tech/openworkflow",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Contract-first workflow system for AI-assisted software development.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/tiic-tech/openworkflow.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/tiic-tech/openworkflow/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/tiic-tech/openworkflow#readme",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"openworkflow",
|
|
16
|
+
"codex",
|
|
17
|
+
"workflow",
|
|
18
|
+
"ai-agents",
|
|
19
|
+
"contracts"
|
|
20
|
+
],
|
|
21
|
+
"type": "module",
|
|
22
|
+
"bin": {
|
|
23
|
+
"openworkflow": "dist/cli/src/index.js"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist",
|
|
30
|
+
"schemas",
|
|
31
|
+
"references",
|
|
32
|
+
"skills",
|
|
33
|
+
"templates"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc -p tsconfig.json",
|
|
37
|
+
"validate": "npm run build && node dist/cli/src/dev/validateRepositoryContractsCli.js --root .",
|
|
38
|
+
"verify:runtime-surface": "npm run build && node dist/cli/src/dev/verifyRuntimeSurface.js",
|
|
39
|
+
"verify:e2e-workflow": "npm run build && node dist/cli/src/dev/verifyWorkflowE2E.js",
|
|
40
|
+
"prepack": "npm run build",
|
|
41
|
+
"prepublishOnly": "npm run validate && npm run verify:runtime-surface && npm run verify:e2e-workflow",
|
|
42
|
+
"validate:cli": "node dist/cli/src/index.js validate --root /tmp/openworkflow-m04-smoke",
|
|
43
|
+
"smoke:init": "node dist/cli/src/index.js init /tmp/openworkflow-m04-smoke --tools codex --force"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"yaml": "^2.8.1"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@types/node": "^25.0.0",
|
|
50
|
+
"typescript": "^5.9.3"
|
|
51
|
+
},
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=20"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Artifact Authoring Templates
|
|
2
|
+
|
|
3
|
+
M11 turns artifact contracts into authoring surfaces. A contract tells the agent
|
|
4
|
+
what must exist; a template tells the agent how to write it compactly.
|
|
5
|
+
|
|
6
|
+
## Template Rules
|
|
7
|
+
|
|
8
|
+
- Templates live in stage-local `_templates/` folders.
|
|
9
|
+
- Templates are not active workflow artifacts.
|
|
10
|
+
- Validators skip `_templates/` folders when scanning active artifacts.
|
|
11
|
+
- Templates preserve recommended field order.
|
|
12
|
+
- Empty strings and empty arrays are intentional placeholders.
|
|
13
|
+
- Agents should copy a template into a new artifact folder, replace `<id>`, and
|
|
14
|
+
update the relevant index.
|
|
15
|
+
|
|
16
|
+
## Read Policy
|
|
17
|
+
|
|
18
|
+
Each artifact contract declares:
|
|
19
|
+
|
|
20
|
+
- `load_by_default`: whether the agent should load this artifact after the
|
|
21
|
+
command packet points to it.
|
|
22
|
+
- `agent_read_order`: the order in which the artifact should be loaded.
|
|
23
|
+
- `max_yaml_lines`: the expected upper bound for the source-of-truth YAML.
|
|
24
|
+
- `max_note_lines`: the expected upper bound for a human `NOTE.md`.
|
|
25
|
+
- `raw_evidence`: when Level 4 evidence may be opened.
|
|
26
|
+
|
|
27
|
+
These are budgets, not hard product limits. They exist to stop accidental
|
|
28
|
+
context expansion.
|
|
29
|
+
|
|
30
|
+
## Active Pointer Semantics
|
|
31
|
+
|
|
32
|
+
Stage indexes own the current pointer:
|
|
33
|
+
|
|
34
|
+
- `VISION_CONTRACT.yaml` owns `current_session`.
|
|
35
|
+
- `VALIDATION_INDEX.yaml` owns `current_validation`.
|
|
36
|
+
- `PROTOTYPE_INDEX.yaml` owns `current_prototype`.
|
|
37
|
+
- `DECISION_INDEX.yaml` owns `current_decision`.
|
|
38
|
+
|
|
39
|
+
The pointer may be `null` when no artifact exists yet. When non-null, it must
|
|
40
|
+
match an indexed artifact id, and the indexed artifact path must exist.
|
|
41
|
+
|
|
42
|
+
## First Consumer Workflow
|
|
43
|
+
|
|
44
|
+
An agent should resume discovery work in this order:
|
|
45
|
+
|
|
46
|
+
1. Load `.openworkflow/workflow/WORKFLOW_INDEX.yaml`.
|
|
47
|
+
2. Load `.openworkflow/audit/CONTEXT_PACKETS.yaml`.
|
|
48
|
+
3. Load `.openworkflow/audit/ARTIFACT_CONTRACTS.yaml`.
|
|
49
|
+
4. Load the stage index named by the command.
|
|
50
|
+
5. If the stage index has a current pointer, load that one YAML artifact.
|
|
51
|
+
6. Open `NOTE.md`, generated HTML, or raw evidence only when the YAML artifact
|
|
52
|
+
explicitly points to them or human review requires it.
|
|
53
|
+
|
|
54
|
+
This makes the current artifact the default working state and keeps historical
|
|
55
|
+
artifacts out of context until requested.
|
|
56
|
+
|
|
57
|
+
## Prototype Evidence Shape
|
|
58
|
+
|
|
59
|
+
Prototype evidence should keep creative direction and runnable proof separate.
|
|
60
|
+
For `/ow:proto`, record reference analysis, static concept assets, runnable
|
|
61
|
+
implementation evidence, browser or screenshot verification, self-critique, and
|
|
62
|
+
known limits in their own fields. The generic `evidence` list may still point to
|
|
63
|
+
the most important files, but downstream agents should not have to infer whether
|
|
64
|
+
an image was a concept, a screenshot, or an implementation artifact.
|
|
65
|
+
|
|
66
|
+
When a visual prototype does not use image generation, record
|
|
67
|
+
`visual_concept_policy.image_generation: skipped_by_user` plus a concrete
|
|
68
|
+
`skip_reason`. Otherwise local `ref` values in concept, implementation,
|
|
69
|
+
verification, or generic evidence fields should point to existing files inside
|
|
70
|
+
the workflow root.
|
|
71
|
+
|
|
72
|
+
## Decision Audit
|
|
73
|
+
|
|
74
|
+
Decision records are durable audit artifacts. In normal prototype iteration,
|
|
75
|
+
agents should write them from `/ow:proto` or `/ow:tune` without asking the user
|
|
76
|
+
to invoke `/ow:decision` manually. Use `outcome: revise` when user feedback asks
|
|
77
|
+
for another tuning pass; reserve `needs_more_evidence` for inconclusive evidence
|
|
78
|
+
rather than ordinary revision requests.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Audit-First Discovery Loop
|
|
2
|
+
|
|
3
|
+
M09 deepens the discovery loop without turning OpenWorkflow into a large
|
|
4
|
+
one-shot specification generator. The core rule is:
|
|
5
|
+
|
|
6
|
+
> Every command must be auditable from a small context packet before it starts
|
|
7
|
+
> and from a small evidence packet after it finishes.
|
|
8
|
+
|
|
9
|
+
The discovery loop is:
|
|
10
|
+
|
|
11
|
+
```txt
|
|
12
|
+
/ow:vision -> /ow:validation -> /ow:prototype -> /ow:decision
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Why Audit-First
|
|
16
|
+
|
|
17
|
+
The goal is not to create more artifacts. The goal is to make the minimum
|
|
18
|
+
necessary artifacts precise enough that a later agent can resume work from a
|
|
19
|
+
small, exact context load.
|
|
20
|
+
|
|
21
|
+
That means each command needs explicit answers to:
|
|
22
|
+
|
|
23
|
+
- What files must be read?
|
|
24
|
+
- What files may be read if needed?
|
|
25
|
+
- What files must not be loaded by default?
|
|
26
|
+
- What files may be written?
|
|
27
|
+
- What files must not be created yet?
|
|
28
|
+
- What checkpoint proves the command stayed inside scope?
|
|
29
|
+
|
|
30
|
+
## Context Packet Shape
|
|
31
|
+
|
|
32
|
+
Each command owns a context packet:
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
command: /ow:validation
|
|
36
|
+
required:
|
|
37
|
+
- .openworkflow/workflow/WORKFLOW_INDEX.yaml
|
|
38
|
+
- .openworkflow/vision/VISION_CONTRACT.yaml
|
|
39
|
+
optional:
|
|
40
|
+
- .openworkflow/context/CONTEXT_MAP.yaml
|
|
41
|
+
forbidden:
|
|
42
|
+
- .openworkflow/runtime/**
|
|
43
|
+
allowed_outputs:
|
|
44
|
+
- .openworkflow/validation/**
|
|
45
|
+
forbidden_outputs:
|
|
46
|
+
- .openworkflow/specs/**
|
|
47
|
+
- .openworkflow/changes/**
|
|
48
|
+
audit_checkpoints:
|
|
49
|
+
before:
|
|
50
|
+
- Confirm required files exist.
|
|
51
|
+
after:
|
|
52
|
+
- Confirm no forbidden outputs were created.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Discovery Loop Invariants
|
|
56
|
+
|
|
57
|
+
- `/ow:vision` clarifies direction; it does not prioritize or prototype.
|
|
58
|
+
- `/ow:validation` identifies what must be proven first; it does not build.
|
|
59
|
+
- `/ow:prototype` builds only the smallest validation artifact; it does not
|
|
60
|
+
create production specs, changes, teams, persistence, or hardening.
|
|
61
|
+
- `/ow:decision` records the user-reviewed result; it is the only discovery
|
|
62
|
+
command that can authorize `/ow:spec`.
|
|
63
|
+
|
|
64
|
+
## Command Depth Standard
|
|
65
|
+
|
|
66
|
+
Deepened generated commands should stay compact. They should include:
|
|
67
|
+
|
|
68
|
+
- purpose
|
|
69
|
+
- interaction mode
|
|
70
|
+
- required context
|
|
71
|
+
- optional context
|
|
72
|
+
- forbidden context
|
|
73
|
+
- allowed outputs
|
|
74
|
+
- forbidden outputs
|
|
75
|
+
- audit checkpoints
|
|
76
|
+
- anti-patterns
|
|
77
|
+
- handoff target
|
|
78
|
+
|
|
79
|
+
The command file should not contain full schemas or long reference material.
|
|
80
|
+
Those belong in `.openworkflow/` indexes and repo references.
|
|
81
|
+
|
|
82
|
+
## M09 Boundary
|
|
83
|
+
|
|
84
|
+
M09 deepens only the discovery loop. `/ow:spec`, `/ow:change`, and `/ow:team`
|
|
85
|
+
remain shallow until the discovery loop is accepted.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# OpenWorkflow Contract Graph v0
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
The contract graph is the durable map between upstream intent and downstream
|
|
6
|
+
runtime execution. In initialized projects, `.openworkflow/` is the
|
|
7
|
+
platform-independent source of truth; tool folders such as `.codex/` are
|
|
8
|
+
generated adapter surfaces. The graph makes every Agent Team action traceable
|
|
9
|
+
to repo-local files instead of chat history.
|
|
10
|
+
|
|
11
|
+
## Contract Types
|
|
12
|
+
|
|
13
|
+
OpenWorkflow v0 recognizes these contract types:
|
|
14
|
+
|
|
15
|
+
- `workflow`: repo-local workflow indexes and graph metadata
|
|
16
|
+
- `context`: shared project vocabulary, repo map, and source references
|
|
17
|
+
- `vision`: durable project direction, goals, non-goals, and priorities
|
|
18
|
+
- `decision`: architectural, product, tooling, and workflow decisions
|
|
19
|
+
- `spec`: binding product, technical, UX, QA, security, or performance specs
|
|
20
|
+
- `validation`: critical assumption ranking and prototype briefs that decide
|
|
21
|
+
what must be proven before a change becomes implementation work
|
|
22
|
+
- `prototype`: low-ceremony executable proof artifacts that answer validation
|
|
23
|
+
questions before production specs, changes, or teams are created
|
|
24
|
+
- `change`: the current bounded delivery scope
|
|
25
|
+
- `work_items`: dependency-ordered slices and atom tasks for a change
|
|
26
|
+
- `team`: Agent Team role topology and delegation boundaries
|
|
27
|
+
- `runtime`: execution state, milestones, agent sessions, reviews, and QA
|
|
28
|
+
|
|
29
|
+
## Common Metadata
|
|
30
|
+
|
|
31
|
+
Every contract file should expose these fields when the format supports them:
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
schema_version: 0.1.0
|
|
35
|
+
contract_id: change:m01-contract-foundation
|
|
36
|
+
contract_type: change
|
|
37
|
+
title: M01 contract foundation
|
|
38
|
+
status: active
|
|
39
|
+
source_artifacts: []
|
|
40
|
+
depends_on: []
|
|
41
|
+
produces: []
|
|
42
|
+
updated_at: null
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Allowed `status` values:
|
|
46
|
+
|
|
47
|
+
```txt
|
|
48
|
+
draft, active, superseded, archived
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`contract_id` values use `<contract_type>:<stable-slug>`. Decision contracts
|
|
52
|
+
may use ADR identifiers, such as `decision:ADR-0001`.
|
|
53
|
+
|
|
54
|
+
## Graph Rules
|
|
55
|
+
|
|
56
|
+
- Paths must be repo-local and must not require absolute machine paths.
|
|
57
|
+
- `depends_on` points to upstream contract ids, not prose descriptions.
|
|
58
|
+
- `produces` points to downstream contract ids when the next artifact is known.
|
|
59
|
+
- Runtime contracts may depend on team and work item contracts, but runtime
|
|
60
|
+
state must not replace upstream contracts.
|
|
61
|
+
- Archives preserve superseded reasoning; new work should cite archived
|
|
62
|
+
contracts instead of editing history silently.
|
|
63
|
+
|
|
64
|
+
## Minimum Flow
|
|
65
|
+
|
|
66
|
+
```txt
|
|
67
|
+
workflow
|
|
68
|
+
-> context
|
|
69
|
+
-> vision
|
|
70
|
+
-> decision
|
|
71
|
+
-> spec
|
|
72
|
+
-> validation
|
|
73
|
+
-> prototype
|
|
74
|
+
-> decision
|
|
75
|
+
-> change
|
|
76
|
+
-> work_items
|
|
77
|
+
-> team
|
|
78
|
+
-> runtime
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Validation precedes binding change contracts when the core experience,
|
|
82
|
+
technical feasibility, or product value is uncertain. Early repositories may
|
|
83
|
+
skip context, vision, decisions, specs, or validation only by recording the
|
|
84
|
+
missing upstream layer in the change contract assumptions.
|
|
85
|
+
|
|
86
|
+
## Validation-First Rule
|
|
87
|
+
|
|
88
|
+
Do not convert a broad idea directly into implementation tasks when the core
|
|
89
|
+
product assumption is unproven. First identify the feature or behavior without
|
|
90
|
+
which the vision fails, then write the smallest prototype brief that can test
|
|
91
|
+
that assumption.
|
|
92
|
+
|
|
93
|
+
Validation artifacts should answer:
|
|
94
|
+
|
|
95
|
+
- Which features are existential, supporting, later, or explicitly out of scope?
|
|
96
|
+
- Which assumption is most likely to invalidate the vision?
|
|
97
|
+
- What is the smallest prototype that can prove or disprove it?
|
|
98
|
+
- What evidence will decide whether to continue, pivot, or stop?
|
|
99
|
+
|
|
100
|
+
## Prototype Discovery Loop
|
|
101
|
+
|
|
102
|
+
Prototype discovery is not the production workflow. It is a fast loop for
|
|
103
|
+
proving whether the vision deserves a production slice.
|
|
104
|
+
|
|
105
|
+
```txt
|
|
106
|
+
vision -> validation -> prototype -> decision -> vision update or production slice
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Prototype artifacts may be single-file demos, hardcoded data, mock
|
|
110
|
+
interactions, or other constrained proofs. They should avoid specs, changes,
|
|
111
|
+
runtime state, team setup, persistence, authentication, deployment, and
|
|
112
|
+
production hardening unless one of those is the critical assumption being
|
|
113
|
+
validated.
|
|
114
|
+
|
|
115
|
+
No `spec`, `change`, or `team` contract should be created from a prototype
|
|
116
|
+
until a decision records that the prototype evidence supports continuing.
|
|
117
|
+
|
|
118
|
+
## Production Validation Loop
|
|
119
|
+
|
|
120
|
+
Once a prototype is accepted, production work should still advance one core
|
|
121
|
+
feature at a time:
|
|
122
|
+
|
|
123
|
+
```txt
|
|
124
|
+
accepted prototype -> focused spec -> focused change -> team/runtime -> decision
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Each production slice should trace back to the accepted prototype or decision
|
|
128
|
+
that justifies it. Avoid creating multiple broad specs or changes from a single
|
|
129
|
+
idea when only the next core feature needs validation.
|