~bigbes/agents-dev · parade

main · last commit 13 days ago · 7g0stsfu

← Back to the parade

ah-if2 lineage audit: nothing reconciles board reality against task_parents Lined Up

status: open P4 feature milestone:v0.2.0
bd update ah-if2 --claim bd close ah-if2
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-05T00:23:51Z
Updated2026-08-05T00:23:51Z
Description
Found while fixing ah-1cx.11, which hardened the WRITE path (a lost RecordChild now holds the card and retries) but left the read side unverified.

task_parents is the only source of truth for the Blocked join, and nothing checks it against the board. Two states remain undetectable: a child card created by hand (or by an older binary) that has no lineage row, and a lineage row whose card was deleted from the board. The first makes a parent under-wait; the second makes it wait forever on a card that no longer exists.

A periodic audit — walk task_parents against a board Snapshot, report rows whose card is gone and cards whose parent link is missing — would close it. Note ah-wd4.1 established that a Snapshot must REFUSE rather than return a partial board, so the audit inherits that: it must not treat a truncated snapshot as 'these cards were deleted'.
Acceptance criteria
A lineage row whose card no longer exists, and a blocked parent waiting on one, are both surfaced to the operator rather than deadlocking silently. The audit refuses to act on an incomplete board snapshot.

Depends on

No outgoing dependencies.

Depended on by

Nothing depends on this issue.

No comments.

  • Eugene Blikh created the issue · 2026-08-05T03:23:51Z
  • Eugene Blikh added label milestone:v0.2.0 · 2026-08-05T03:24:03Z
Stored rows — what this pane was built from, as read
issues 1 row
id ah-if2
content_hash 9dbdbfcc7481c7210050335db098dfe5f8d0ee450186dfc71ee812a982e97d3c
title lineage audit: nothing reconciles board reality against task_parents
description Found while fixing ah-1cx.11, which hardened the WRITE path (a lost RecordChild now holds the card and retries) but left the read side unverified. task_parents is the only source of truth for the Blocked join, and nothing checks it against the board. Two states remain undetectable: a child card created by hand (or by an older binary) that has no lineage row, and a lineage row whose card was deleted from the board. The first makes a parent under-wait; the second makes it wait forever on a card that no longer exists. A periodic audit — walk task_parents against a board Snapshot, report rows whose card is gone and cards whose parent link is missing — would close it. Note ah-wd4.1 established that a Snapshot must REFUSE rather than return a partial board, so the audit inherits that: it must not treat a truncated snapshot as 'these cards were deleted'.
design
acceptance_criteria A lineage row whose card no longer exists, and a blocked parent waiting on one, are both surfaced to the operator rather than deadlocking silently. The audit refuses to act on an incomplete board snapshot.
notes
status open
priority 4
issue_type feature
assignee NULL
estimated_minutes NULL
created_at 2026-08-05T00:23:51Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-05T00:23:51Z
closed_at NULL
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at NULL
is_blocked 0
labels 1 row
issue_id ah-if2
label milestone:v0.2.0
events 2 rows
id 019fcf4e-1e3e-7a4c-8a90-61b99ba9a1aa
issue_id ah-if2
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-05T03:23:51Z
id 019fcf4e-4e70-7e48-81c2-cf1337f2b9e1
issue_id ah-if2
event_type label_added
actor Eugene Blikh
old_value NULL
new_value NULL
comment Added label: milestone:v0.2.0
created_at 2026-08-05T03:24:03Z