@workflow-cannon/workspace-kit 0.7.0 → 0.9.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.
Files changed (74) hide show
  1. package/README.md +5 -4
  2. package/dist/cli/run-command.d.ts +11 -0
  3. package/dist/cli/run-command.js +138 -0
  4. package/dist/cli.js +18 -135
  5. package/dist/contracts/index.d.ts +1 -1
  6. package/dist/contracts/module-contract.d.ts +13 -0
  7. package/dist/core/config-cli.js +4 -4
  8. package/dist/core/config-metadata.js +199 -5
  9. package/dist/core/index.d.ts +6 -0
  10. package/dist/core/index.js +6 -0
  11. package/dist/core/instruction-template-mapper.d.ts +9 -0
  12. package/dist/core/instruction-template-mapper.js +35 -0
  13. package/dist/core/lineage-contract.d.ts +1 -1
  14. package/dist/core/lineage-contract.js +1 -1
  15. package/dist/core/policy.d.ts +13 -2
  16. package/dist/core/policy.js +42 -25
  17. package/dist/core/response-template-contract.d.ts +15 -0
  18. package/dist/core/response-template-contract.js +10 -0
  19. package/dist/core/response-template-registry.d.ts +4 -0
  20. package/dist/core/response-template-registry.js +44 -0
  21. package/dist/core/response-template-shaping.d.ts +6 -0
  22. package/dist/core/response-template-shaping.js +128 -0
  23. package/dist/core/session-policy.d.ts +18 -0
  24. package/dist/core/session-policy.js +57 -0
  25. package/dist/core/transcript-completion-hook.d.ts +7 -0
  26. package/dist/core/transcript-completion-hook.js +128 -0
  27. package/dist/core/workspace-kit-config.d.ts +2 -1
  28. package/dist/core/workspace-kit-config.js +19 -23
  29. package/dist/modules/approvals/index.js +2 -2
  30. package/dist/modules/documentation/runtime.js +413 -20
  31. package/dist/modules/improvement/generate-recommendations-runtime.d.ts +7 -0
  32. package/dist/modules/improvement/generate-recommendations-runtime.js +37 -4
  33. package/dist/modules/improvement/improvement-state.d.ts +10 -1
  34. package/dist/modules/improvement/improvement-state.js +36 -7
  35. package/dist/modules/improvement/index.js +70 -23
  36. package/dist/modules/improvement/ingest.js +2 -1
  37. package/dist/modules/improvement/transcript-redaction.d.ts +4 -0
  38. package/dist/modules/improvement/transcript-redaction.js +10 -0
  39. package/dist/modules/improvement/transcript-sync-runtime.d.ts +42 -1
  40. package/dist/modules/improvement/transcript-sync-runtime.js +215 -9
  41. package/dist/modules/index.d.ts +1 -1
  42. package/dist/modules/index.js +1 -1
  43. package/dist/modules/task-engine/index.d.ts +0 -2
  44. package/dist/modules/task-engine/index.js +4 -78
  45. package/package.json +6 -2
  46. package/src/modules/documentation/README.md +39 -0
  47. package/src/modules/documentation/RULES.md +70 -0
  48. package/src/modules/documentation/config.md +14 -0
  49. package/src/modules/documentation/index.ts +120 -0
  50. package/src/modules/documentation/instructions/document-project.md +44 -0
  51. package/src/modules/documentation/instructions/documentation-maintainer.md +81 -0
  52. package/src/modules/documentation/instructions/generate-document.md +44 -0
  53. package/src/modules/documentation/runtime.ts +870 -0
  54. package/src/modules/documentation/schemas/documentation-schema.md +54 -0
  55. package/src/modules/documentation/state.md +8 -0
  56. package/src/modules/documentation/templates/AGENTS.md +84 -0
  57. package/src/modules/documentation/templates/ARCHITECTURE.md +71 -0
  58. package/src/modules/documentation/templates/PRINCIPLES.md +122 -0
  59. package/src/modules/documentation/templates/RELEASING.md +96 -0
  60. package/src/modules/documentation/templates/ROADMAP.md +131 -0
  61. package/src/modules/documentation/templates/SECURITY.md +53 -0
  62. package/src/modules/documentation/templates/SUPPORT.md +40 -0
  63. package/src/modules/documentation/templates/TERMS.md +61 -0
  64. package/src/modules/documentation/templates/runbooks/consumer-cadence.md +55 -0
  65. package/src/modules/documentation/templates/runbooks/parity-validation-flow.md +68 -0
  66. package/src/modules/documentation/templates/runbooks/release-channels.md +30 -0
  67. package/src/modules/documentation/templates/workbooks/phase2-config-policy-workbook.md +42 -0
  68. package/src/modules/documentation/templates/workbooks/task-engine-workbook.md +42 -0
  69. package/src/modules/documentation/templates/workbooks/transcript-automation-baseline.md +68 -0
  70. package/src/modules/documentation/types.ts +51 -0
  71. package/dist/modules/task-engine/generator.d.ts +0 -3
  72. package/dist/modules/task-engine/generator.js +0 -118
  73. package/dist/modules/task-engine/importer.d.ts +0 -8
  74. package/dist/modules/task-engine/importer.js +0 -163
@@ -0,0 +1,54 @@
1
+ meta|v=1|doc=<manifest|rules|runbook|workbook|map|workflows|commands|decisions|glossary|observed|planned|checks>|truth=<canonical|observed|planned>|st=<active|deprecated|draft>
2
+
3
+ syntax|rec=one_per_line|sep=||kv==|list=,|seq=>|all=+|bool=true,false
4
+ ids|rule=R[0-9]{3,}|wf=W[0-9]{3,}|cmd=C[0-9]{3,}|decision=D[0-9]{3,}|observed=O[0-9]{3,}|planned=P[0-9]{3,}|check=K[0-9]{3,}
5
+ sem|lvl=must,must_not,should,may|risk=low,medium,high,critical|ap=none,prompt,required|act=auto,warn,prompt,stop
6
+ author|meta_first_once=true|one_fact_per_record=true|exceptions_inline=true|no_vague_directives=true|observed_ne_rule=true|planned_ne_rule=true|stable_order=true
7
+
8
+ project|name=<name>|type=<type>|scope=<scope>
9
+ stack|<key=value>...
10
+ prio|<p1>><p2>><p3>...
11
+ truth|order=<t1>><t2>><t3>><t4>
12
+ ref|name=<name>|path=<path>
13
+
14
+ rule|<RID>|<lvl>|<scope>|<directive>|unless=<cond>|also=<list>|risk=<risk>|ap=<ap>|ov=<act>|st=<st>|refs=<list>
15
+ path|<path>|role=<role>|has=<list>|xhas=<list>|deps=<list>|xdeps=<list>|check=<list>|st=<st>|refs=<list>
16
+ module|<name>|role=<role>|owns=<list>|deps=<list>|xdeps=<list>|entry=<list>|tests=<list>|st=<st>|refs=<list>
17
+
18
+ runbook|<name>|<scope>|<owner>
19
+ workbook|<name>|<phase>|<status>
20
+ intent|<fact_or_guidance>
21
+ chain|<step>|<command>|expect_exit=<code>
22
+ artifact|path=<path>|schema=<schema_path>
23
+ state|name=<name>|dist_tag=<tag>|intent=<intent>
24
+ transition|from=<from>|to=<to>|requires=<list>
25
+ promotion|from=<from>|to=<to>|requires=<list>
26
+ rollback|strategy=<strategy>|note=<note>
27
+ command|name=<name>|purpose=<purpose>|sensitivity=<non_sensitive|policy_sensitive>
28
+ config|key=<key>|default=<value>
29
+ cadence|rule=<rule>
30
+ guardrail|<GID>|<lvl>|<directive>|st=<st>
31
+
32
+ wf|<WID>|name=<name>|when=<trigger>|do=<s1>><s2>><s3>|done=<d1>+<d2>|forbid=<list>|ask_if=<cond>|halt_if=<cond>|ap=<ap>|risk=<risk>|st=<st>|refs=<list>
33
+ cmd|<CID>|name=<name>|use=<command>|scope=<scope>|expect=<result>|risk=<risk>|st=<st>
34
+ decision|<DID>|topic=<topic>|choice=<choice>|why=<reason>|then=<consequence>|st=<st>|refs=<list>
35
+ term|<name>|def=<definition>|st=<st>
36
+
37
+ observed|<OID>|scope=<scope>|fact=<fact>|evidence=<evidence>|risk=<risk>|st=observed|refs=<list>
38
+ planned|<PID>|scope=<scope>|target=<target>|why=<reason>|st=planned|refs=<list>
39
+ check|<KID>|scope=<scope>|assert=<assertion>|when=<cond>|on_fail=<act>|st=<st>|refs=<list>
40
+
41
+ order|manifest=meta,project,stack,prio,truth,ref
42
+ order|rules=global,risky,scoped,workflow,style
43
+ order|map=roots,major,special,legacy
44
+ order|workflows=common,risky,edge,clarify
45
+
46
+ defaults|omit_optional=true|omit_empty=true|lvl_explicit=true|scope_explicit=true|directive_explicit=true
47
+ stop|critical_secret_risk=true|destructive_unapproved=true|policy_conflict_unresolved=true
48
+ prompt|multi_valid_interpretations=true|required_approval_missing=true
49
+ warn|should_violation=true|low_risk_uncertainty=true
50
+
51
+ directive|good=add_migration,preserve_backward_compatibility,contain_business_logic,commit_secrets,manual_edit
52
+ directive|bad=best_practices,clean_code,good_design,keep_it_simple,do_the_right_thing
53
+ scope|good=repo,src/api,src/domain,public_api,schema_changes,behavior_change
54
+ scope|bad=general,misc,various,important_stuff
@@ -0,0 +1,8 @@
1
+ # Documentation Module State
2
+
3
+ Tracks current module runtime state and generation metadata.
4
+
5
+ - `lastRunAt`: last successful generation timestamp
6
+ - `lastRunInputs`: summary of source inputs and command arguments
7
+ - `lastRunOutputs`: generated file list and checks
8
+ - `lastRunStatus`: `ok` or `failed`
@@ -0,0 +1,84 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # AGENTS
4
+
5
+ Basic operating guidance for AI agents working in this repository.
6
+
7
+ ## Source-of-truth order
8
+
9
+ {{{
10
+ Generate a ranked source-of-truth list by discovering governance and execution documents in this repository.
11
+ Method:
12
+ 1) Read the canonical principles/rules file under `/.ai` first to establish decision priority and approval gates.
13
+ 2) Read module-development governance under `/.ai` next to capture implementation constraints.
14
+ 3) Read maintainership planning docs under `docs/maintainers/` to determine strategy (`ROADMAP`), execution queue (`TASKS`), and release process (`RELEASING`).
15
+ 4) Read terminology/glossary docs to normalize language used in the section.
16
+ 5) Include any direct human companion doc for module governance as the last authority tier.
17
+ Output format:
18
+ - Numbered list in descending precedence.
19
+ - Each line includes a path and a short "what this controls" phrase.
20
+ Validation:
21
+ - Confirm each referenced file exists before emitting.
22
+ - Ensure higher-ranked docs can override lower-ranked docs.
23
+ }}}
24
+
25
+ ## Core expectations
26
+
27
+ {{{
28
+ Generate behavioral expectations for agents by extracting normative statements (`must`, `must_not`, `should`) from the top-ranked governance docs.
29
+ Method:
30
+ 1) Pull autonomy posture and conflict-handling behavior from principles/rules docs.
31
+ 2) Pull approval-gated action categories from release/policy guidance.
32
+ 3) Pull implementation posture from module build guidance (reversible, evidence-backed, deterministic).
33
+ Output format:
34
+ - 4-6 concise bullets in imperative style.
35
+ - One nested bullet group may be used for approval-gated action categories.
36
+ Validation:
37
+ - Do not invent expectations not present in source docs.
38
+ - Prioritize clarity over verbosity.
39
+ }}}
40
+
41
+ ## Working rules
42
+
43
+ {{{
44
+ Generate repository working rules by mapping responsibilities to the correct document surfaces.
45
+ Method:
46
+ 1) Identify which file governs strategy, which governs execution queue, and which governs release operations.
47
+ 2) Add a synchronization rule requiring related docs to be updated in the same change set when scope changes.
48
+ 3) Add a compatibility/determinism rule derived from principles and release guidance.
49
+ Output format:
50
+ - 3-5 bullets, each phrased as an enforceable rule.
51
+ Validation:
52
+ - Rules must reference real file paths.
53
+ - Avoid duplicating deep procedure content; keep this section as operating constraints.
54
+ }}}
55
+
56
+ ## Task execution
57
+
58
+ {{{
59
+ Generate task-execution directives from the active task-tracking format.
60
+ Method:
61
+ 1) Inspect task metadata fields used for ordering and completion criteria.
62
+ 2) Derive execution order behavior from dependency fields.
63
+ 3) Derive implementation constraints from task detail fields (approach/scope/acceptance).
64
+ 4) Include a task-splitting rule for oversized work items.
65
+ Output format:
66
+ - 3-4 short action bullets.
67
+ Validation:
68
+ - Instructions must align with the current task schema and status markers.
69
+ - Do not include project-specific task IDs in this section.
70
+ }}}
71
+
72
+ ## Documentation generation
73
+
74
+ {{{
75
+ Describe how agents should use the documentation module when generating or syncing maintainer docs.
76
+ Method:
77
+ 1) Read `src/modules/documentation/RULES.md` for precedence and validation behavior.
78
+ 2) Read `src/modules/documentation/instructions/document-project.md` (Inputs) and `src/modules/documentation/README.md` for callable commands and shipped `documentType` / template filenames.
79
+ 3) State that `document-project` and `generate-document` are the command entrypoints when wired in the module router.
80
+ Output format:
81
+ - 2-3 short bullets or one tight paragraph.
82
+ Validation:
83
+ - Paths must exist in the repository; do not invent extra commands.
84
+ }}}
@@ -0,0 +1,71 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # Architecture Overview
4
+
5
+ This document provides a high-level architecture map for Workflow Cannon.
6
+
7
+ ## System intent
8
+
9
+ {{{
10
+ Describe the system intent in 2-4 sentences by reading `README.md`, `docs/maintainers/ROADMAP.md`, and `.ai/PRINCIPLES.md`.
11
+ Method:
12
+ 1) Extract what the product is for and what it is not for from README and roadmap scope sections.
13
+ 2) Align with modular workflow, safety, and traceability themes from principles.
14
+ Output format:
15
+ - One short paragraph; no bullet list unless the source docs use bullets for intent.
16
+ Validation:
17
+ - Do not invent features not implied by the repository sources.
18
+ - If scope is ambiguous, state assumptions explicitly in one clause.
19
+ }}}
20
+
21
+ ## Core architectural directions
22
+
23
+ {{{
24
+ Produce 5-7 bullet points describing stable architectural directions (not implementation detail).
25
+ Method:
26
+ 1) Derive from roadmap phase descriptions, ARCHITECTURE-related task references, and module/registry language in code comments or `docs/maintainers/ARCHITECTURE.md` if present.
27
+ 2) Include modularity, task/planning, policy, improvement loop, and observability only when supported by sources.
28
+ Output format:
29
+ - Markdown bullet list; each bullet starts with a noun phrase or short clause.
30
+ Validation:
31
+ - Avoid version numbers and task IDs in this section.
32
+ }}}
33
+
34
+ ## Key building blocks
35
+
36
+ {{{
37
+ List the major logical components and how they relate at a high level.
38
+ Method:
39
+ 1) Inspect `docs/maintainers/ARCHITECTURE.md`, module layout under `src/`, and roadmap phase outcomes.
40
+ 2) Name blocks as they appear in maintainer docs (e.g. Task Engine, registry, documentation module) when those names exist.
41
+ Output format:
42
+ - Bullet list of building blocks; optional one-line parenthetical per item for responsibility.
43
+ Validation:
44
+ - Do not name internal file paths unless they are already cited as public extension points in maintainer docs.
45
+ }}}
46
+
47
+ ## Foundational design principles
48
+
49
+ {{{
50
+ Summarize design principles that bridge architecture and implementation norms.
51
+ Method:
52
+ 1) Pull safety, determinism, explainability, migration, and doc/runtime boundary rules from `.ai/PRINCIPLES.md` and human principles companion.
53
+ 2) Prefer imperative, testable statements over slogans.
54
+ Output format:
55
+ - 4-6 bullets; parallel structure.
56
+ Validation:
57
+ - Must not contradict the decision priority order in principles docs.
58
+ }}}
59
+
60
+ ## Related docs
61
+
62
+ {{{
63
+ Emit cross-links to planning and execution surfaces.
64
+ Method:
65
+ 1) Confirm paths exist: `docs/maintainers/ROADMAP.md`, `.workspace-kit/tasks/state.json`, and `docs/maintainers/RELEASING.md` when release behavior is architecture-relevant.
66
+ 2) Add `.ai/PRINCIPLES.md` or module-build references only if cited elsewhere in this doc set.
67
+ Output format:
68
+ - Bulleted list of paths with a short “what this covers” fragment after each.
69
+ Validation:
70
+ - Every path listed must exist in the workspace.
71
+ }}}
@@ -0,0 +1,122 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # Workflow Cannon Principles (Human-Readable)
4
+
5
+ This document is the human-readable companion to `.ai/PRINCIPLES.md` (canonical rules format).
6
+ If there is any conflict, `.ai/PRINCIPLES.md` is authoritative.
7
+
8
+ ## Purpose
9
+
10
+ {{{
11
+ State the purpose of this human-readable principles doc in 2-3 sentences.
12
+ Method:
13
+ 1) Read `.ai/PRINCIPLES.md` and `README.md` for stated goals.
14
+ 2) Clarify that this file is for humans and agents; canonical machine-oriented rules live under `/.ai`.
15
+ Output format:
16
+ - Short paragraph.
17
+ Validation:
18
+ - Do not duplicate long lists from the canonical file; summarize only.
19
+ }}}
20
+
21
+ ## Decision Priority Order
22
+
23
+ {{{
24
+ Reproduce the trade-off priority list exactly as defined in `.ai/PRINCIPLES.md`.
25
+ Method:
26
+ 1) Open `.ai/PRINCIPLES.md` and copy the ordered list verbatim.
27
+ 2) If the canonical file uses different wording, the canonical file wins—update this section to match.
28
+ Output format:
29
+ - Numbered list 1..n in the canonical order.
30
+ Validation:
31
+ - Order must match `.ai/PRINCIPLES.md` byte-for-byte on list items.
32
+ }}}
33
+
34
+ ## Source of Truth Order
35
+
36
+ {{{
37
+ Describe precedence when sources disagree, aligned with `.ai/PRINCIPLES.md` and `docs/maintainers/TERMS.md` if present.
38
+ Method:
39
+ 1) Prefer explicit precedence from `.ai/PRINCIPLES.md`.
40
+ 2) Use TERMS glossary for “canonical glossary” vs narrative docs if needed.
41
+ Output format:
42
+ - Numbered list from highest to lowest precedence.
43
+ Validation:
44
+ - Must not contradict `.ai/PRINCIPLES.md`.
45
+ }}}
46
+
47
+ ## Core Principles
48
+
49
+ {{{
50
+ Expand core principles as concise bullets drawn from `.ai/PRINCIPLES.md` and this file’s prior content if present.
51
+ Method:
52
+ 1) Extract normative statements (must/should) and decision rules.
53
+ 2) Merge duplicates; keep 8-12 bullets maximum.
54
+ Output format:
55
+ - Markdown bullet list.
56
+ Validation:
57
+ - Each bullet should be testable or clearly actionable.
58
+ }}}
59
+
60
+ ## Required Human Approval
61
+
62
+ {{{
63
+ List categories of work that require explicit human approval before execution.
64
+ Method:
65
+ 1) Take approval categories from `.ai/PRINCIPLES.md` and `docs/maintainers/RELEASING.md`.
66
+ 2) Add stop conditions for irreversible harm or secret exposure if stated in principles.
67
+ Output format:
68
+ - Intro sentence followed by bullet list of approval-gated categories.
69
+ Validation:
70
+ - Do not remove an approval category that appears in the canonical principles file.
71
+ }}}
72
+
73
+ ## Conflict and Override Handling
74
+
75
+ {{{
76
+ Describe soft-gate behavior and where to record overrides.
77
+ Method:
78
+ 1) Use principles and `docs/maintainers/DECISIONS.md` purpose.
79
+ 2) Reference `.workspace-kit/tasks/state.json` for execution tracking of overrides.
80
+ Output format:
81
+ - 2-4 bullets.
82
+ Validation:
83
+ - Include at least one path for recording rationale (`TASKS` or `DECISIONS`).
84
+ }}}
85
+
86
+ ## Documentation Boundaries
87
+
88
+ {{{
89
+ State which topics belong in ROADMAP vs TASKS vs RELEASING.
90
+ Method:
91
+ 1) Read `docs/maintainers/TERMS.md` for “directive”, “workflow”, and documentation boundary language if helpful.
92
+ 2) Align with existing README/workflow contract rules in the repo.
93
+ Output format:
94
+ - One short paragraph plus 3 bullets mapping strategy / execution / release to files.
95
+ Validation:
96
+ - Paths must be `docs/maintainers/ROADMAP.md`, `.workspace-kit/tasks/state.json`, `docs/maintainers/RELEASING.md`.
97
+ }}}
98
+
99
+ ## Validation Gates
100
+
101
+ {{{
102
+ Summarize gates before merge/release: release readiness, compatibility, policy-sensitive work.
103
+ Method:
104
+ 1) Pull gate names from `.ai/PRINCIPLES.md`, `docs/maintainers/RELEASING.md`, and this document’s prior version if present.
105
+ Output format:
106
+ - Short intro then bullet list with bold gate labels.
107
+ Validation:
108
+ - Each gate must reference what evidence or approval satisfies it.
109
+ }}}
110
+
111
+ ## Related References
112
+
113
+ {{{
114
+ List related docs with paths.
115
+ Method:
116
+ 1) Verify existence of each file in the workspace.
117
+ 2) Include `.ai/PRINCIPLES.md`, `docs/maintainers/ROADMAP.md`, `.workspace-kit/tasks/state.json`, `docs/maintainers/DECISIONS.md`, `docs/maintainers/RELEASING.md`, `docs/maintainers/CHANGELOG.md` when present.
118
+ Output format:
119
+ - Bulleted list of paths.
120
+ Validation:
121
+ - No broken paths.
122
+ }}}
@@ -0,0 +1,96 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # Releasing
4
+
5
+ Canonical release process for `@workflow-cannon/workspace-kit`.
6
+
7
+ This document defines how releases are planned, validated, published, and reviewed in Phase 0.
8
+
9
+ ## Release intent
10
+
11
+ {{{
12
+ List what every release must achieve (predictability, compatibility, evidence, feedback loop).
13
+ Method:
14
+ 1) Read `docs/maintainers/RELEASING.md` if present, `package.json` name field, and `README.md` for release posture.
15
+ 2) Align bullets with principles: evidence, safety, human review for risky changes.
16
+ Output format:
17
+ - 4-6 bullets starting with verbs or noun phrases; parallel structure.
18
+ Validation:
19
+ - Mention packaged-artifact validation if the roadmap or tasks require it for the current phase.
20
+ }}}
21
+
22
+ ## Release principles
23
+
24
+ {{{
25
+ State named principles (e.g. package-first truth, evidence over assumption).
26
+ Method:
27
+ 1) Extract from current `docs/maintainers/RELEASING.md` and team norms in `.ai/PRINCIPLES.md`.
28
+ 2) Use bold labels for principle names when the source uses them.
29
+ Output format:
30
+ - Bullet list with optional **bold** lead-in per item.
31
+ Validation:
32
+ - Do not promise automation steps that are not implemented; describe intent-level principles only.
33
+ }}}
34
+
35
+ ## Release readiness gates
36
+
37
+ {{{
38
+ Enumerate gates that must pass before publish.
39
+ Method:
40
+ 1) Merge checklist items from `docs/maintainers/RELEASING.md`, `.workspace-kit/tasks/state.json` release-related tasks, and CI/workflow names under `.github/workflows/` if discoverable.
41
+ 2) Include changelog, tests, consumer parity, migration review, and security review when applicable to the phase.
42
+ Output format:
43
+ - Numbered list; each item is one gate; sub-bullets only for clarifying checks.
44
+ Validation:
45
+ - If a gate depends on a doc path, name the path explicitly.
46
+ }}}
47
+
48
+ ## Release procedure
49
+
50
+ {{{
51
+ Document a numbered procedure from scope definition through consumer verification.
52
+ Method:
53
+ 1) Follow structure of existing `docs/maintainers/RELEASING.md` (define scope → prepare artifacts → validate → publish → verify).
54
+ 2) Insert concrete commands only if they appear in `package.json` scripts or maintainer docs.
55
+ Output format:
56
+ - Numbered phases; use nested bullets for steps; use `##`-level subheadings only if the human doc already uses them.
57
+ Validation:
58
+ - Include explicit “do not publish if gate fails” behavior.
59
+ }}}
60
+
61
+ ## Required release evidence
62
+
63
+ {{{
64
+ List artifacts and references that must be captured for auditability.
65
+ Method:
66
+ 1) Use RELEASING docs and task evidence language from `.workspace-kit/tasks/state.json`.
67
+ 2) Include version, tag, workflow run links, npm reference, migration notes, risks.
68
+ Output format:
69
+ - Bullet list; group related items if needed.
70
+ Validation:
71
+ - State that evidence must be sufficient for another maintainer to reconstruct confidence.
72
+ }}}
73
+
74
+ ## Post-release workflow
75
+
76
+ {{{
77
+ Describe follow-up after publish: monitoring, triage, friction capture, task/roadmap updates.
78
+ Method:
79
+ 1) Align with `docs/maintainers/ROADMAP.md` improvement/roadmap language.
80
+ Output format:
81
+ - Numbered list for main sequence; bullets for feedback loops.
82
+ Validation:
83
+ - Link follow-up work to `TASKS` and `ROADMAP` paths.
84
+ }}}
85
+
86
+ ## Related documents
87
+
88
+ {{{
89
+ Cross-link README, principles, roadmap, tasks, security.
90
+ Method:
91
+ 1) Verify each path exists.
92
+ Output format:
93
+ - Bullet list with path and one-line description.
94
+ Validation:
95
+ - Include `docs/maintainers/SECURITY.md` for vulnerability handling expectations.
96
+ }}}
@@ -0,0 +1,131 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # Workflow Cannon Roadmap
4
+
5
+ Long-range plan and decision log for the Workflow Cannon package and maintainer workflow.
6
+
7
+ ## Scope
8
+
9
+ {{{
10
+ State repository scope and relationship to external consumers or legacy repos.
11
+ Method:
12
+ 1) Read `docs/maintainers/ROADMAP.md`, `README.md`, and any extraction/split notes in maintainer docs.
13
+ 2) Clarify canonical home vs external consumer/parity fixture language if present.
14
+ Output format:
15
+ - 2-4 bullets or one short paragraph plus bullets.
16
+ Validation:
17
+ - Do not invent consumer names; use only what appears in docs.
18
+ }}}
19
+
20
+ ## Current state
21
+
22
+ {{{
23
+ Summarize current execution phase, completed task slices, and active queue.
24
+ Method:
25
+ 1) Read `.workspace-kit/tasks/state.json` for execution state, current phase, ready queue, and completed markers.
26
+ 2) Read `docs/maintainers/ROADMAP.md` for milestone wording.
27
+ Output format:
28
+ - Short bullets: phase name, completed work summary, active queue references (task IDs allowed here).
29
+ Validation:
30
+ - Task IDs must match `.workspace-kit/tasks/state.json` at generation time.
31
+ }}}
32
+
33
+ ## Phase plan and release cadence
34
+
35
+ {{{
36
+ Introduce the rule that each phase ends with a GitHub release and phases are sequential unless replanned.
37
+ Method:
38
+ 1) Copy cadence rules from `docs/maintainers/ROADMAP.md` if present.
39
+ Output format:
40
+ - One short paragraph.
41
+ Validation:
42
+ - Do not add phases not listed in maintainer roadmap unless the user explicitly expands scope.
43
+ }}}
44
+
45
+ ### Phase 0 - Foundation hardening -> GitHub release `v0.2.0`
46
+
47
+ {{{
48
+ Document Phase 0 scope, outcome, and exit signals.
49
+ Method:
50
+ 1) Read `.workspace-kit/tasks/state.json` and `docs/maintainers/ROADMAP.md` for Phase 0 task ranges and release target.
51
+ Output format:
52
+ - Bullets for primary scope, outcome, exit signals.
53
+ Validation:
54
+ - Release version string must match `ROADMAP.md` for Phase 0.
55
+ }}}
56
+
57
+ ### Phase 1 - Task Engine core -> GitHub release `v0.3.0`
58
+
59
+ {{{
60
+ Document Phase 1 scope, outcome, and exit signals from maintainer roadmap.
61
+ Output format:
62
+ - Bullets for primary scope, outcome, exit signals.
63
+ Validation:
64
+ - Align task IDs with `.workspace-kit/tasks/state.json`.
65
+ }}}
66
+
67
+ ### Phase 2 - Configuration and policy base -> GitHub release `v0.4.0`
68
+
69
+ {{{
70
+ Document Phase 2 scope, outcome, and exit signals.
71
+ Output format:
72
+ - Bullets for primary scope, outcome, exit signals.
73
+ Validation:
74
+ - Align task IDs with `.workspace-kit/tasks/state.json`.
75
+ }}}
76
+
77
+ ### Phase 2b - Config policy hardening + UX / exposure -> GitHub release `v0.4.1`
78
+
79
+ {{{
80
+ Document Phase 2b scope, outcome, and exit signals (policy hardening `T219`–`T220` and config UX `T228`–`T237`; see `.workspace-kit/tasks/state.json` for the draft-ID mapping note).
81
+ Output format:
82
+ - Bullets for primary scope, outcome, exit signals.
83
+ Validation:
84
+ - Align task IDs with `.workspace-kit/tasks/state.json`.
85
+ }}}
86
+
87
+ ### Phase 3 - Enhancement loop MVP -> GitHub release `v0.5.0`
88
+
89
+ {{{
90
+ Document Phase 3 scope, outcome, and exit signals.
91
+ Output format:
92
+ - Bullets for primary scope, outcome, exit signals.
93
+ Validation:
94
+ - Align task IDs with `.workspace-kit/tasks/state.json`.
95
+ }}}
96
+
97
+ ### Phase 4 - Runtime scale and ecosystem -> GitHub release `v0.6.0`
98
+
99
+ {{{
100
+ Document Phase 4 scope, outcome, and exit signals.
101
+ Output format:
102
+ - Bullets for primary scope, outcome, exit signals.
103
+ Validation:
104
+ - Align task IDs with `.workspace-kit/tasks/state.json`.
105
+ }}}
106
+
107
+ ## Recorded decisions
108
+
109
+ {{{
110
+ Maintain a decision log table for major irreversible choices.
111
+ Method:
112
+ 1) Preserve existing rows from `docs/maintainers/ROADMAP.md` when updating.
113
+ 2) Add new rows only when `docs/maintainers/DECISIONS.md` or `.workspace-kit/tasks/state.json` records a new decision worth surfacing here.
114
+ Output format:
115
+ - Markdown table with columns: Decision | Choice
116
+ Validation:
117
+ - Do not remove historical decisions; append or mark superseded if the repo uses that convention.
118
+ }}}
119
+
120
+ ## Execution evidence snapshot
121
+
122
+ {{{
123
+ Record provenance for extraction split and first publish when applicable.
124
+ Method:
125
+ 1) Read freeze SHA, split SHA, workflow run URLs, and npm links from `docs/maintainers/ROADMAP.md` or linked evidence.
126
+ 2) If SHAs are not in repo, leave explicit placeholders or omit if instructed by user.
127
+ Output format:
128
+ - Bullets: freeze commit, split commit, workflow run link, npm package link.
129
+ Validation:
130
+ - Prefer exact strings from existing maintainer docs over invention.
131
+ }}}
@@ -0,0 +1,53 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # Security Policy
4
+
5
+ ## Reporting a vulnerability
6
+
7
+ {{{
8
+ Describe how to report security issues privately and why public disclosure is discouraged before coordination.
9
+ Method:
10
+ 1) Read `docs/maintainers/SECURITY.md` and `README.md` / `docs/maintainers/SUPPORT.md` for contact paths.
11
+ 2) If no private contact is listed, instruct to use GitHub security advisories or maintainer email if documented.
12
+ Output format:
13
+ - 2-4 sentences; imperative and clear.
14
+ Validation:
15
+ - Do not invent email addresses; use only public repo contact mechanisms.
16
+ }}}
17
+
18
+ ## What to include
19
+
20
+ {{{
21
+ List information reporters should provide for effective triage.
22
+ Method:
23
+ 1) Align with `docs/maintainers/SECURITY.md` and common vulnerability reporting practice.
24
+ Output format:
25
+ - Bullet list: description, versions, repro, impact, suggested fix.
26
+ Validation:
27
+ - Keep items parallel (noun-led or short phrases).
28
+ }}}
29
+
30
+ ## Response expectations
31
+
32
+ {{{
33
+ Set SLA-style expectations for acknowledgement and triage.
34
+ Method:
35
+ 1) Preserve numeric targets from existing `docs/maintainers/SECURITY.md` if present.
36
+ 2) State business-day semantics if used.
37
+ Output format:
38
+ - Short bullets for acknowledgement, triage, coordinated disclosure.
39
+ Validation:
40
+ - If no SLA exists in source, say “targets” not “guarantees” unless the org wants guarantees.
41
+ }}}
42
+
43
+ ## Scope highlights
44
+
45
+ {{{
46
+ Enumerate security-sensitive areas relevant to this project (secrets, policy bypass, workspace mutation, privacy).
47
+ Method:
48
+ 1) Derive from `docs/maintainers/ARCHITECTURE.md`, `docs/maintainers/RELEASING.md`, and security-related tasks.
49
+ Output format:
50
+ - Bullet list with bold labels optional.
51
+ Validation:
52
+ - Tie each area to project-specific behavior when possible.
53
+ }}}
@@ -0,0 +1,40 @@
1
+ {{{AI Documentation Directive}}}
2
+
3
+ # Support
4
+
5
+ ## Getting help
6
+
7
+ {{{
8
+ Describe channels for help: issues, features, security escalation path.
9
+ Method:
10
+ 1) Read `docs/maintainers/SUPPORT.md` and `README.md` for issue templates or contribution paths.
11
+ 2) Cross-reference `docs/maintainers/SECURITY.md` for security-sensitive reports.
12
+ Output format:
13
+ - Bullet list with one line per channel.
14
+ Validation:
15
+ - Use relative paths to maintainer docs in this repo.
16
+ }}}
17
+
18
+ ## What to include
19
+
20
+ {{{
21
+ List information reporters should attach for reproducible issues.
22
+ Method:
23
+ 1) Align with `docs/maintainers/SUPPORT.md` and any issue template under `.github/ISSUE_TEMPLATE/`.
24
+ Output format:
25
+ - Bullet list: version/SHA, environment, commands, expected vs actual, logs.
26
+ Validation:
27
+ - Mention OS/runtime when relevant to the project stack.
28
+ }}}
29
+
30
+ ## Response expectations
31
+
32
+ {{{
33
+ Set triage expectations and how priority is determined.
34
+ Method:
35
+ 1) Preserve numbers from existing `docs/maintainers/SUPPORT.md` when present.
36
+ Output format:
37
+ - 2-3 short bullets.
38
+ Validation:
39
+ - Avoid legal guarantees; use “target” language unless the source doc says otherwise.
40
+ }}}