-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWORKFLOW.json
More file actions
90 lines (90 loc) · 6.38 KB
/
Copy pathWORKFLOW.json
File metadata and controls
90 lines (90 loc) · 6.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"index": [
"quick_index",
"pipeline_bootstrap_directive",
"json_source_contract",
"workflow_workflow_contract",
"generic_programming_baseline",
"template_parity_for_reusable_pipeline_improvements",
"project_type_routing",
"finish_contract",
"tool_error_hardening",
"json_structural_edit_tooling",
"single_entry_tool_handler",
"gpt_conversation_input_routing"
],
"content": {
"quick_index": {
"title": "Quick Index",
"items": [
"pipeline_bootstrap_directive",
"json_source_contract",
"workflow_workflow_contract",
"generic_programming_baseline",
"template_parity_for_reusable_pipeline_improvements",
"project_type_routing",
"finish_contract",
"json_structural_edit_tooling",
"single_entry_tool_handler"
]
},
"pipeline_bootstrap_directive": {
"title": "Pipeline Bootstrap Directive",
"rule": "At the start of every source-pipeline prompt, load the compact indexes for DOCS.json, WORKFLOW.json, COMMANDS.json, FLOWS.json, and SCRIPTS.json before selecting reads, tools, or execution order. COMMANDS.json and SCRIPTS.json must be loaded into default context as index-only name lists; read their content only when a specific command or script needs exact metadata."
},
"json_source_contract": {
"title": "JSON Source Contract",
"rule": "Source-pipeline structured contracts, packs, templates, eval data, caches, and generated indexes use JSON as the canonical format. JSON may be accepted only as backwards-compatible input for older installed projects."
},
"workflow_workflow_contract": {
"title": "Workflow/Workflow Contract",
"rule": "WORKFLOW is the unified source for task classification, guardrails, priority steering, and contextual cautions. Do not add a second workflow document for the same purpose."
},
"generic_programming_baseline": {
"title": "Generic Programming Baseline",
"rule": "The code pack is generic software engineering. Game-development behavior is not part of the default programming preload and belongs only to the explicit gamedev project pack."
},
"template_parity_for_reusable_pipeline_improvements": {
"title": "Template Parity For Reusable Pipeline Improvements",
"rule": "When a source-pipeline improvement changes behavior that future installed projects should inherit, update both the executable source contract and the relevant starter template. If the user says 'also improve the template' or equivalent, treat template parity as an active acceptance criterion: update source docs/packs, templates, feature contracts, update protocol notes when relevant, compiled context, and verification together instead of leaving template sync as a follow-up."
},
"project_type_routing": {
"title": "Project Type Routing",
"types": [
"code",
"generic",
"personal",
"creative",
"gamedev"
],
"rule": "Select project packs by project profile. Use gamedev only when the project is explicitly a game, simulation, or game-adjacent interactive project."
},
"finish_contract": {
"title": "Finish Contract",
"rule": "Run finalize_task_check_commit_push.py near the end of any changed-file scope that should be committed and pushed. If it fails because tooling assumes legacy formats, fix the owning tool and rerun the finalizer."
},
"tool_error_hardening": {
"title": "Tool Error Hardening",
"rule": "When an owned repository script fails because input was easy to pass incorrectly, validation was missing, output was unclear, path/encoding/quoting handling was fragile, or the process failure is likely to recur, default to hardening the owning script, wrapper, help text, validation, or SCRIPTS.json input/output contract before retrying or immediately after unblocking the task. Treat manual recovery as temporary unless the failure is clearly a one-off typo, missing user data, or larger than the current task scope. Prefer file/stdin/structured inputs over fragile inline quoting for complex JSON."
},
"json_structural_edit_tooling": {
"title": "JSON Structural Edit Tooling",
"rule": "For JSON edits that only change structure or order, use tools/json/json_node_edit.py or the narrow JSON wrappers instead of manual patching. When one task needs both structural/order changes and content edits, run the scripted structural operation first, then set or patch content. Keep SCRIPTS.json input/output/help metadata current when adding or changing JSON document scripts."
},
"single_entry_tool_handler": {
"title": "Single Entry Tool Handler",
"rule": "For repository-owned scripts that have a SCRIPTS.json contract and are exposed to agents as repeatable operations, prefer tools/pipeline/tool_handler.py as the public entry point. The handler should validate required and optional parameters from SCRIPTS.json, normalize common aliases, delegate to the target script, capture a predictable result envelope, and automatically log rejected input through tool_error_log.py."
},
"gpt_conversation_input_routing": {
"title": "GPT Conversation Input Routing",
"rule": "When the user provides a ChatGPT shared conversation URL, saved share HTML, or local ChatGPT conversation export/cache and asks to read, search, summarize, analyze, or continue from it, use the dedicated GPT conversation tools first. Use gpt_shared_conversation_extract.py for public chatgpt.com/share links. Use gpt_conversation_archive.py for explicit local private exports/caches with list/search/read/index. Feed the model the extracted Markdown/JSON, not the whole HTML page or entire archive, unless the user explicitly asks for raw source inspection. Do not attempt live private account scraping or session-cookie access."
}
},
"metadata": {
"document": {
"title": "Source Pipeline Workflow",
"type": "workflow",
"language": "en"
}
}
}