Skip to content

feat(stack): pgid-record v2 kind-tagged union for container teardown (RIG-2760, T8a) - #644

Merged
mattwilkinsonn merged 1 commit into
mainfrom
compass-native/rig-2760-pgid-v2
Aug 26, 2026
Merged

feat(stack): pgid-record v2 kind-tagged union for container teardown (RIG-2760, T8a)#644
mattwilkinsonn merged 1 commit into
mainfrom
compass-native/rig-2760-pgid-v2

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

Grow the stack.pgids entry line into a kind-tagged discriminated union so a
container-backed child (S4's rootless-podman postgres) can be torn down by its
stable name, alongside the existing process-group children torn down by
identity-checked pgid.

  • v2 entry grammar: 'proc ' | 'ctr '.
    A v1 record (untagged 3-field proc lines) still parses, as all-process entries
    (v2 is a strict superset).
  • Cross-version safety by two guards (DL-262): forward — a v2 reader hard-errors
    on an unknown/newer version; reverse — a shipped v1 parser meeting a v2 record
    hard-errors by the entry grammar (4-field proc / unknown ctr token), never
    half-parsing a record it cannot fully understand.
  • ContainerController Deps seam (Exists/Stop/Remove) mirrors GroupSignaller:
    DownDetached dispatches per entry kind (group signal vs podman stop/rm -f).
    Nil until T8 wires the real podman adapter; no container entry is written yet,
    so the seam is never dereferenced.

Realizes DL-262 (pgid-record v2). The container write path + podman adapter are
T8's slice.

Co-authored-by: Matt Wilkinson matt@rigel.build
Ledger-impact: none (realizes frozen DL-262; no ledger row change)

@linear-code

linear-code Bot commented Aug 26, 2026

Copy link
Copy Markdown

RIG-2760

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-native-rig-2760-pgid.compass-eng-docs.pages.dev

Deployed from compass-native/rig-2760-pgid-v2 at 68a2ebf.

@rigel-mintaka
rigel-mintaka force-pushed the compass-native/rig-2760-pgid-v2 branch from 9d390fc to 70d0d8d Compare August 26, 2026 04:58
…(RIG-2760, T8a)

Grow the stack.pgids entry line into a kind-tagged discriminated union so a
container-backed child (S4's rootless-podman postgres) can be torn down by its
stable name, alongside the existing process-group children torn down by
identity-checked pgid.

- v2 entry grammar: 'proc <component> <pgid> <starttime>' | 'ctr <component> <name>'.
  A v1 record (untagged 3-field proc lines) still parses, as all-process entries
  (v2 is a strict superset).
- Cross-version safety by two guards (DL-262): forward — a v2 reader hard-errors
  on an unknown/newer version; reverse — a shipped v1 parser meeting a v2 record
  hard-errors by the entry grammar (4-field proc / unknown ctr token), never
  half-parsing a record it cannot fully understand.
- ContainerController Deps seam (Exists/Stop/Remove) mirrors GroupSignaller:
  DownDetached dispatches per entry kind (group signal vs podman stop/rm -f).
  Nil until T8 wires the real podman adapter; no container entry is written yet,
  so the seam is never dereferenced.

Realizes DL-262 (pgid-record v2). The container write path + podman adapter are
T8's slice.

Co-authored-by: Matt Wilkinson <matt@rigel.build>
Ledger-impact: none (realizes frozen DL-262; no ledger row change)
@rigel-mintaka
rigel-mintaka force-pushed the compass-native/rig-2760-pgid-v2 branch from 70d0d8d to 68a2ebf Compare August 26, 2026 05:04
@rigel-mintaka
rigel-mintaka marked this pull request as ready for review August 26, 2026 05:07
@mattwilkinsonn
mattwilkinsonn merged commit 78da0f1 into main Aug 26, 2026
13 checks passed
@mattwilkinsonn
mattwilkinsonn deleted the compass-native/rig-2760-pgid-v2 branch August 26, 2026 05:21
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.

2 participants