flow_reviewed_writeback.json json
92 lines 3.8 KB
Raw
sha256:8915fe406161f95c1681f9469375e7bae5b28c884f00bedbdef65e4b0cd0738d docs(flow): commit FLOW-V0-SPEC.md hygiene for 7A-INT merge Human 11 hours ago
1 {
2 "flow": {
3 "schema": "knowtation.flow/v0",
4 "flow_id": "flow_reviewed_writeback",
5 "title": "Note \u2192 reviewed write-back",
6 "version": "0.1.0",
7 "scope": "personal",
8 "summary": "Update an existing note safely: capture the base state, then propose the edit through review with a concurrency check.",
9 "tags": ["authoring", "review", "write-back"],
10 "steps": [
11 "flow_reviewed_writeback#1",
12 "flow_reviewed_writeback#2"
13 ],
14 "inputs": [
15 { "name": "note_path", "type": "string", "required": true }
16 ],
17 "vault_mirror_path": "meta/flows/reviewed-writeback.md",
18 "updated": "2026-06-20T00:00:00Z",
19 "truncated": false
20 },
21 "steps": [
22 {
23 "schema": "knowtation.flow_step/v0",
24 "step_id": "flow_reviewed_writeback#1",
25 "flow_id": "flow_reviewed_writeback",
26 "ordinal": 1,
27 "owned_job": "Capture the current base state of the note being edited.",
28 "instruction": "Fetch the existing note and record its base_state_id so the later proposal can detect concurrent edits.",
29 "trigger": "Run when an update to an existing note is ready to be written.",
30 "when_not_to_run": "Skip if note_path does not resolve, or the note is out of the actor's writable scope.",
31 "requires": [
32 { "kind": "vault_scope", "id": "personal" },
33 { "kind": "tool", "id": "knowtation_cli" }
34 ],
35 "boundaries": [
36 "Read only \u2014 do not mutate the note here",
37 "Do not fabricate a base_state_id"
38 ],
39 "skill_refs": [
40 { "kind": "cli", "id": "knowtation get-note <note_path> --json" }
41 ],
42 "inputs": [
43 { "name": "note_path", "from": "flow.inputs.note_path" }
44 ],
45 "outputs": [
46 { "name": "base_state_id", "type": "string" }
47 ],
48 "output_shape": "The note's current base_state_id plus its existing body, ready for an edit proposal.",
49 "verification": {
50 "kind": "artifact_exists",
51 "evidence_required": true,
52 "description": "A base_state_id for the target note is captured and recorded."
53 },
54 "automatable": "agent_assisted"
55 },
56 {
57 "schema": "knowtation.flow_step/v0",
58 "step_id": "flow_reviewed_writeback#2",
59 "flow_id": "flow_reviewed_writeback",
60 "ordinal": 2,
61 "owned_job": "Propose the edit through review with a concurrency check.",
62 "instruction": "Submit the updated content as a Knowtation proposal pinned to the captured base_state_id for human approval.",
63 "trigger": "Run after the base state is captured and the updated content is ready.",
64 "when_not_to_run": "Skip if base_state_id is missing, or the note changed underneath since it was captured.",
65 "requires": [
66 { "kind": "vault_scope", "id": "personal" },
67 { "kind": "tool", "id": "knowtation_cli" }
68 ],
69 "boundaries": [
70 "Never write canonical knowledge directly \u2014 route through the proposal/review tray",
71 "Always pin base_state_id so concurrent edits are detected",
72 "No secrets in the proposal body or provenance"
73 ],
74 "skill_refs": [
75 { "kind": "cli", "id": "knowtation propose <note_path> --intent reviewed_writeback --base-state-id <base_state_id> --source agent" }
76 ],
77 "inputs": [
78 { "name": "base_state_id", "from": "flow_reviewed_writeback#1.outputs.base_state_id" }
79 ],
80 "outputs": [
81 { "name": "proposal_ref", "type": "string" }
82 ],
83 "output_shape": "A pending proposal id pinned to the captured base_state_id.",
84 "verification": {
85 "kind": "human_review",
86 "evidence_required": true,
87 "description": "Reviewer approves the edit via the review tray and the base_state_id concurrency check passes; approval id recorded."
88 },
89 "automatable": "manual"
90 }
91 ]
92 }
File History 1 commit
sha256:8915fe406161f95c1681f9469375e7bae5b28c884f00bedbdef65e4b0cd0738d docs(flow): commit FLOW-V0-SPEC.md hygiene for 7A-INT merge Human 11 hours ago