Retain ordered prerequisites in attended reporting and defer the owner token session
This commit is contained in:
parent
30f5072051
commit
b21495f318
4 changed files with 28 additions and 4 deletions
|
|
@ -85,3 +85,13 @@ Argo adoption. This has not been executed.
|
|||
so the old ArgoCD is frozen. The founder retires coulombcore and reuses the machine (NK-WP-0022-T08).
|
||||
- Findings filed: F1 → coulomb-social CSOC-WP-0016; F3 → key-cape KEY-WP-0040-T02 + user-engine
|
||||
wording; F6 → KEY-WP-0040-T01.
|
||||
|
||||
## Later: KEY-WP-0039-T02 owner token session
|
||||
|
||||
This follows the first Forgejo SecurityCase and KEY-WP-0038-T02/T03 native
|
||||
registration/claims proofs. It is not ready for the current window. Existing
|
||||
registration authorization remains resolved; no additional go-ahead is requested.
|
||||
After those prerequisites, NetKingdom supplies the registry/env session and the
|
||||
attended human token through the already prepared runner, with the coding-agent
|
||||
owner custody path and Platform refusal/capability/cleanup proof. The runner
|
||||
passes 17 local checks; those do not prove native identity or cleanup.
|
||||
|
|
|
|||
|
|
@ -66,17 +66,17 @@ def classify(tasks):
|
|||
wp = t["wp"]
|
||||
if wp["status"] in ("finished", "archived") or wp["flavor"] == "residual":
|
||||
continue
|
||||
missing = [d for d in t["deps"] if not dep_done(d)]
|
||||
if t["status"] in ("todo", "progress"):
|
||||
missing = [d for d in t["deps"] if not dep_done(d)]
|
||||
if t["human"]:
|
||||
out["ATTENDED"].append(t)
|
||||
out["ATTENDED"].append(t | {"pending_dependencies": missing})
|
||||
elif missing or t["blocked_on"]:
|
||||
out["DEPENDENT"].append(t | {"pending_dependencies": missing})
|
||||
else:
|
||||
out["READY"].append(t)
|
||||
elif t["status"] == "wait":
|
||||
if t["human"]:
|
||||
out["ATTENDED"].append(t)
|
||||
out["ATTENDED"].append(t | {"pending_dependencies": missing})
|
||||
elif t["deps"] and all(dep_done(d) for d in t["deps"]):
|
||||
out["UNBLOCKED"].append(t)
|
||||
elif not t["deps"] and t["blocked_on"].startswith("message-from"):
|
||||
|
|
@ -97,7 +97,7 @@ def main():
|
|||
if a.json:
|
||||
print(json.dumps({k: [{x: t[x] for x in ("id", "status", "priority", "reason", "blocked_on")}
|
||||
| {"repo": t["wp"]["repo"]}
|
||||
| ({"pending_dependencies": t["pending_dependencies"]} if k == "DEPENDENT" else {})
|
||||
| ({"pending_dependencies": t["pending_dependencies"]} if "pending_dependencies" in t else {})
|
||||
for t in v] for k, v in res.items()}, indent=1))
|
||||
return
|
||||
for k, v in res.items():
|
||||
|
|
@ -106,6 +106,8 @@ def main():
|
|||
extra = t["blocked_on"] if k == "STALLED" else t["reason"]
|
||||
if k == "DEPENDENT":
|
||||
extra = ", ".join(t["pending_dependencies"]) or t["blocked_on"]
|
||||
elif k == "ATTENDED" and t["pending_dependencies"]:
|
||||
extra = "After " + ", ".join(t["pending_dependencies"]) + ": " + extra
|
||||
print(f"- {t['id']} [{t['status']}/{t['priority'] or '-'}] {t['wp']['repo']}"
|
||||
+ (f" — {extra[:140]}" if extra else ""))
|
||||
|
||||
|
|
|
|||
|
|
@ -95,3 +95,13 @@ def test_workplan_and_multiline_task_dependencies_both_gate_successor(tmp_path):
|
|||
assert not result["READY"]
|
||||
assert result["DEPENDENT"][0]["pending_dependencies"] == [
|
||||
"ACTIVITY-WP-0042", "ACTIVITY-WP-0041-T03", "ACTIVITY-WP-0041-T04"]
|
||||
|
||||
|
||||
def test_attended_item_keeps_unfinished_ordered_prerequisites_visible(tmp_path):
|
||||
workplan(tmp_path, "key-cape",
|
||||
"id: KEY-WP-0039-T02\nstatus: wait\npriority: medium\n"
|
||||
"needs_human: true\nintervention_note: Attended owner token session\n"
|
||||
"depends_on: [KEY-WP-0038-T03]")
|
||||
result = report(tmp_path)
|
||||
assert not result["READY"] and not result["UNBLOCKED"]
|
||||
assert result["ATTENDED"][0]["pending_dependencies"] == ["KEY-WP-0038-T03"]
|
||||
|
|
|
|||
|
|
@ -147,6 +147,8 @@ hook. Real temporary-repository tests prove rejection and source-change acceptan
|
|||
The missing shared guard was installed for the existing repo-manager hook path;
|
||||
the week's fleet evidence and generator adoption still remain open.
|
||||
|
||||
The generated attended list now retains unresolved ordered dependencies. An owner token session following the first SecurityCase can therefore be listed as a future attended act without implying it is ready to run now. CLI regression coverage checks this boundary.
|
||||
|
||||
## Attended window #1
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue