Pilot refactor per locked substrate schema. kei-task migrated to atom
layout:
- atoms/<verb>.md — YAML frontmatter + human body for 3 verbs
- atoms/schemas/<verb>-{input,output}.json — JSON Schema draft-07
- src/atoms/<verb>.rs — typed Input/Output/Error + pub fn run()
- src/atoms/mod.rs — module registry
- Cargo.toml [package.metadata.keisei] — crate-level substrate data
- src/main.rs — dispatcher for 3 pilot commands via atoms::
Zero behaviour change: 7/7 integration tests pass before and after
(create_and_get, update_persists, cycle_detected, milestone_linking,
dependency_chain_traversal, task_graph_edges, search_finds_task).
main.rs still has 5 non-migrated subcommands (update, graph,
dependency-chain, milestone, link-milestone) — scope discipline, they
migrate in later passes. main.rs 120 → 132 LOC.
Stream B pilot reference — other crates follow this pattern in v0.24+.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
18 lines
511 B
JSON
18 lines
511 B
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "kei-task/atoms/schemas/create-output.json",
|
|
"title": "kei-task::create output",
|
|
"type": "object",
|
|
"required": ["id", "created_at"],
|
|
"properties": {
|
|
"id": { "type": "integer", "minimum": 1 },
|
|
"created_at": {
|
|
"type": "integer",
|
|
"description": "Unix timestamp (seconds since epoch) when the row was inserted"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"examples": [
|
|
{ "id": 42, "created_at": 1714000000 }
|
|
]
|
|
}
|