KeiSeiKit-1.0/_primitives/_rust/kei-task/atoms/schemas/add-dependency-input.json
Parfii-bot ae82bc6242 feat(stream-b): kei-task pilot — 3 atoms (create/search/add-dependency)
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>
2026-04-23 00:09:55 +08:00

36 lines
870 B
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "kei-task/atoms/schemas/add-dependency-input.json",
"title": "kei-task::add-dependency input",
"type": "object",
"required": ["from", "to"],
"properties": {
"from": {
"type": "integer",
"minimum": 1,
"description": "Source task id (the task that has the dependency)"
},
"to": {
"type": "integer",
"minimum": 1,
"description": "Target task id (the task being depended on)"
},
"dep_type": {
"type": "string",
"enum": [
"blocks",
"feeds_into",
"subtask_of",
"milestone_of",
"assigned_to",
"depends_on"
],
"default": "blocks"
}
},
"additionalProperties": false,
"examples": [
{ "from": 42, "to": 17, "dep_type": "blocks" },
{ "from": 3, "to": 1 }
]
}