Skip to content

docs(adr): factcheck + proofread corrections (ADR-1, ADR-2) - #13

Merged
brettchien merged 1 commit into
mainfrom
docs/adr-factcheck-fixes
Aug 10, 2026
Merged

docs(adr): factcheck + proofread corrections (ADR-1, ADR-2)#13
brettchien merged 1 commit into
mainfrom
docs/adr-factcheck-fixes

Conversation

@brettchien

Copy link
Copy Markdown
Contributor

Corrections from a proofread + fact-check pass over the accepted ADRs on main.

ADR-1 — agent-lifecycle

  • docker pause = cgroup freezer, not SIGSTOP (the freezer being uncatchable is why the healthcheck stalls).
  • ENI is provisioned in PROVISIONING, not ACTIVATING (ACTIVATING = image pull / secret inject / LB reg).
  • Health axis's "in-sync" scoped to lease/probe/authz, not version — version-skew is healthy → Paused, so it must not count as ¬healthy (was contradicting Unhealthy's "not version skew").
  • Note Stopping vs Stopped are separated by a 5th signal (process liveness/terminality), not the four discriminators.
  • Proofread: "agents do control"; a missing space.

ADR-2 — deployment-control-plane

  • k8s desired is spec-sourced (.spec.replicas), not a .status counter (service-level in ECS).
  • Added the missing Starting row to the 6-state ⇄ k8s mapping (only 5 of 6 were mapped).
  • Softened the glossary phase ≈ Pod .status.phase (ours is derived; see §4 traps).
  • Proofread: "look before you leap".

All load-bearing technical claims in both ADRs otherwise checked out (ECS DescribeServices/DescribeTasks split, healthStatus UNKNOWN without healthCheck, Terminating≠phase, MCP tool/dry_run semantics, prior-art table). Verified via subagent fact-check with sourcing (k8s API docs, AWS ECS docs).

🤖 Generated with Claude Code

ADR-1 (agent-lifecycle):
- `docker pause` is the cgroup freezer, not SIGSTOP
- ENI is provisioned in PROVISIONING, not ACTIVATING (image pull + secret inject)
- scope the health axis's "in-sync" to lease/probe/authz, not version-skew
  (version-skew is healthy → Paused), resolving the overload vs Unhealthy
- note Stopping vs Stopped are split by a 5th signal (process liveness/terminality),
  not the four discriminators
- "agents do control" (drop stray "the"); spacing nit

ADR-2 (deployment-control-plane):
- k8s `desired` is spec-sourced (.spec.replicas), not a .status counter
- add the missing `Starting` row to the 6-state ⇄ k8s mapping
- soften glossary phase ≈ Pod .status.phase (ours is derived; see §4 traps)
- "look before you leap"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@brettchien
brettchien merged commit e22d55a into main Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant