Security: incident template has no timeline table capturing time, tx hash, wallet, token, pair, admin action, and user impact [SEC-G06] #439
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#439
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The incident template (
docs/templates/incident-dex-indexer.md) includes a Metadata table (severity, started UTC, commander, channels), a Triage checklist, a Mitigation section, a blank Communications section, and a Post-incident section. There is no blank incident timeline table with columns for: time, tx hash, wallet, token, pair, admin action, and user impact. The checklist requires this specific template structure so that operators can build a time-ordered audit trail as events unfold during an incident.What Was Checked
docs/templates/incident-dex-indexer.mdread in full (confirmed by direct read above): Metadata table has severity, started UTC, commander, channels. No timeline table with the required columns.docs/runbooks/blacklist-decision.mdrollback checklist step 4: "Log in incident timeline -- entry with reversal approver, checklist completion UTC, and planned Unblacklist tx" -- references an incident timeline but no template for it exists in either doc.docs/runbooks/emergency-commands.mdstep 4: "Record tx hashes -- paste into your incident tracker for audit trail" -- references an audit trail but no blank template exists.Expected (per checklist)
The incident template runbook must include a blank timeline table with at minimum these columns: UTC time, tx hash, wallet address, token address, pair address, admin action taken, and user impact. Rows are filled in as events occur during the incident.
Actual
No timeline table exists in any runbook or template. Multiple docs reference "recording tx hashes" and "incident timeline" but provide no blank table for operators to fill in.
Evidence
docs/templates/incident-dex-indexer.md: no timeline table (confirmed by full read)docs/runbooks/blacklist-decision.mdstep 4: references "incident timeline" without providing a templatedocs/runbooks/emergency-commands.mdstep 4: references "audit trail" without providing a templateSuggested Fix
Add a Incident timeline section to
docs/templates/incident-dex-indexer.mdwith a blank Markdown table:Operators fill in rows as events unfold. Link this table from the
blacklist-decision.mdrollback checklist step 4 and theemergency-commands.md"Record tx hashes" step.Verification Checklist
docs/templates/incident-dex-indexer.mdcontains a blank timeline table with columns for: UTC time, tx hash, wallet, token, pair, admin action, user impactLabels
security,pre-launchCc: @PlasticDigits
mentioned in issue #381
mentioned in merge request !965
Verified #439 (issue-439-incident-timeline-sec-g06).
The incident template gains a "## Incident timeline" section with the blank table carrying exactly the seven required columns (UTC Time | Tx Hash | Wallet | Token | Pair | Admin Action | User Impact) + a blank starter row. blacklist-decision.md rollback step 4 (and 5) link ...#incident-timeline, emergency-commands.md step 4 links the same anchor, and the heading slug matches all three inbound links.
Small non-blocking nit: the checker matches the blank starter row by an exact whitespace literal, so re-flowing the column widths later would trip the invariant — worth tightening, not a hold.
Docs-only. Good to close from my side — @PlasticDigits merge !965 + close.
mentioned in commit
114d10b79dmentioned in commit
1921c81f7fmentioned in commit
11666a0059mentioned in merge request !969
mentioned in merge request !968
Verification — #439 (SEC-G06)
Verified incident template timeline table and cross-links. All acceptance criteria PASS.
Checklist
docs/templates/incident-dex-indexer.mdhas blank timeline table with UTC Time, Tx Hash, Wallet, Token, Pair, Admin Action, User Impact## Incident timelinesection (lines 48–54); seven column headers + blank starter row presentblacklist-decision.mdrollback checklist step 4 links to timeline../templates/incident-dex-indexer.md#incident-timelineemergency-commands.md"Record tx hashes" links to timeline#incident-timelinepython3 scripts/check_incident_template_docs.py→ OKbash scripts/qa/verify-issue-439.sh→ PASS 5 / FAIL 0skills/AGENTS_INCIDENT_TEMPLATE.mddocuments required columns andmake verify-issue-439Notes
incident-timelinematches inbound anchors from both runbooks.main).Closing as verified.