Qualify wait states in the coordination graph (CUST-WP-0074-T04)
Task nodes carry wait_kind (external | human | both | unqualified, null unless wait): the hub field wins, otherwise derived from needs_human and dependency edges (task-level depends_on, or a workplan dependency row whose target the task cites). Workplan nodes carry blocked_kind (human | external | none, null unless blocked). Task-level depends_on becomes a task -> workplan/task depends_on edge; depends_on edges carry edge_kind commitment (cyan #0891b2), human gates are marked on the node (humanGate, rose #be123c). A needs_human=true query / "Needs human" toggle / --needs-human flag keeps only blocked_kind=human workplans and their human-wait tasks; the parameter survives in the shareable URL and mode switch like include_residuals. Fabric stays a read of State Hub. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 237582@bnt-lap001 Assistant-Session: f2b3d9f1-8fb9-4b9c-bc2b-837ec5dfc826
This commit is contained in:
parent
b47dd43b04
commit
9dbb8f0bcb
7 changed files with 426 additions and 33 deletions
|
|
@ -91,6 +91,11 @@ def build_parser() -> argparse.ArgumentParser:
|
|||
action="store_true",
|
||||
help="Include flavor=residual workplans in --format coordination (default omits them)",
|
||||
)
|
||||
export.add_argument(
|
||||
"--needs-human",
|
||||
action="store_true",
|
||||
help="Only blocked_kind=human workplans and their human-wait tasks in --format coordination",
|
||||
)
|
||||
|
||||
scan = sub.add_parser("scan", help="Scan a repo for deterministic discovery candidates.")
|
||||
scan.add_argument("path", nargs="?", type=Path, default=Path("."))
|
||||
|
|
@ -363,6 +368,7 @@ def main(argv: list[str] | None = None) -> int:
|
|||
workplans,
|
||||
tasks,
|
||||
include_residuals=args.include_residuals,
|
||||
needs_human_only=args.needs_human,
|
||||
),
|
||||
indent=2,
|
||||
sort_keys=True,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue