Repository navigation
Close single-ownership follow-ups against systemd #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ktsaou
wants to merge
15
commits into
sow-0097/cli-sdk-single-owner
Choose a base branch
from
sow-0176/single-ownership-followups
base: sow-0097/cli-sdk-single-owner
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
54e771c
Return boot-listing errors from the Rust directory reader and facade …
ktsaou 815cdb4
Pause SOW-0176 for the stacked PR review fixes and record its investi…
ktsaou 81a25c2
Merge branch 'sow-0097/cli-sdk-single-owner' into sow-0176/single-own…
ktsaou a7013d8
Record the open SOW-0176 decisions and its implementation plan
ktsaou 758eb74
Merge branch 'sow-0097/cli-sdk-single-owner' into sow-0176/single-own…
ktsaou c46ac31
Merge branch 'sow-0097/cli-sdk-single-owner' into sow-0176/single-own…
ktsaou d40efa5
Merge branch 'sow-0097/cli-sdk-single-owner' into sow-0176/single-own…
ktsaou 0199229
Merge branch 'sow-0097/cli-sdk-single-owner' into sow-0176/single-own…
ktsaou 69f77a0
Keep journal entries with damaged fields and align repeated-value reads
ktsaou 5d52407
Match systemd boot listing, retention and missing-array handling
ktsaou fa7b36f
Parse verification keys with the systemd v262 grammar in one SDK func…
ktsaou 967add0
Close the single-ownership follow-ups and match Rust lossy source names
ktsaou 2137a66
Skip damaged DATA in payload reads and bound the live boot tail by th…
ktsaou 2962770
Order the Rust test modules as rustfmt expects
ktsaou b0751f3
Check returned payload values in the damaged-field tests
ktsaou File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
418 changes: 418 additions & 0 deletions
418
.agents/sow/done/SOW-0176-20261108-single-ownership-followups.md
Large diffs are not rendered by default.
Oops, something went wrong.
129 changes: 0 additions & 129 deletions
129
.agents/sow/pending/SOW-0176-20261108-single-ownership-followups.md
This file was deleted.
Oops, something went wrong.
159 changes: 159 additions & 0 deletions
159
.agents/sow/pending/SOW-0177-20261108-verify-sealed-range-report.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,159 @@ | ||
| # SOW-0177 - Report The Validated Sealed Range From Verification | ||
|
|
||
| ## Status | ||
|
|
||
| Status: open | ||
|
|
||
| `completed` is the successful terminal status. `done` is a directory name, not a status value. Do not use `Status: done` or `Status: complete`. | ||
|
|
||
| Sub-state: tracked from SOW-0176 (item I7) on 2026-11-08; needs a public API decision. | ||
|
|
||
| ## Requirements | ||
|
|
||
| ### Purpose | ||
|
|
||
| Make `journalctl --verify --verify-key` print the same validated-range summary | ||
| as systemd v262 for sealed files. | ||
|
|
||
| ### User Request | ||
|
|
||
| Follow-up of the SOW-0176 verify-key parity decision (I7 = A). | ||
|
|
||
| ### Assistant Understanding | ||
|
|
||
| Facts: | ||
|
|
||
| - After `PASS`, v262 prints `=> Validated from %s to %s, final %s entries not | ||
| sealed.`, `=> No sealing yet, %s of entries not sealed.` or `=> No sealing | ||
| yet, no entries in file.` (systemd/systemd @ 8cc40e0c5e9234bf45084751ac53b1fbfe70b492 | ||
| `src/journal/journalctl-misc.c:70-85`). | ||
| - `VerifyFileWithKey` and `verify_file_with_key` return only success or failure. | ||
| Both already track the realtime of the last verified TAG. | ||
|
|
||
| Inferences: | ||
|
|
||
| - Exposing the range needs a new public result type in both SDKs, plus | ||
| `format_timespan` output in the CLIs. | ||
|
|
||
| Unknowns: | ||
|
|
||
| - The public API shape, decided at activation. | ||
|
|
||
| ### Acceptance Criteria | ||
|
|
||
| - Both CLIs print the three v262 summary forms, compared against the pinned | ||
| OpenSSL-enabled v262 oracle. | ||
| - The range comes from one public SDK function per language. | ||
|
|
||
| ## Analysis | ||
|
|
||
| Sources checked: SOW-0176 keydiff results and the files cited above. | ||
|
|
||
| ## Pre-Implementation Gate | ||
|
|
||
| Status: blocked | ||
|
|
||
| Problem / root-cause model: | ||
|
|
||
| - The verifier does not return the range v262 reports. | ||
|
|
||
| Evidence reviewed: | ||
|
|
||
| - See `## Requirements`. | ||
|
|
||
| Affected contracts and surfaces: | ||
|
|
||
| - Go and Rust verification APIs, both journalctl rewrites. | ||
|
|
||
| Existing patterns to reuse: | ||
|
|
||
| - `verifySealed` / `verify_sealed` tag tracking. | ||
|
|
||
| Risk and blast radius: | ||
|
|
||
| - Additive API; stderr output only. | ||
|
|
||
| Sensitive data handling plan: | ||
|
|
||
| - Synthetic fixtures only. | ||
|
|
||
| Implementation plan: | ||
|
|
||
| 1. Decide the API, add it in both languages, print the summary, compare with the oracle. | ||
|
|
||
| Validation plan: | ||
|
|
||
| - `tests/interoperability/run_verify_matrix.py` and a stderr comparison. | ||
|
|
||
| Artifact impact plan: | ||
|
|
||
| - AGENTS.md: none expected. | ||
| - Runtime project skills: none expected. | ||
| - Specs: journalctl parity matrix. | ||
| - End-user/operator docs: API pages. | ||
| - End-user/operator skills: none. | ||
| - SOW lifecycle: pending until activated. | ||
|
|
||
| Open-source reference evidence: | ||
|
|
||
| - Cited above. | ||
|
|
||
| Open decisions: | ||
|
|
||
| - Public API shape. | ||
|
|
||
| ## Implications And Decisions | ||
|
|
||
| None yet. | ||
|
|
||
| ## Plan | ||
|
|
||
| See the implementation plan above. | ||
|
|
||
| ## Implementation And Review Plan | ||
|
|
||
| Implementation: | ||
|
|
||
| - The project manager implements the approved API in both languages, with one | ||
| chunk for the SDK result and one for the CLI output. | ||
|
|
||
| Reviewers: | ||
|
|
||
| - Whole-SOW self-review after local validation; tests are the gate. External | ||
| reviewers are not used. | ||
|
|
||
| Repository boundary block for every external-agent prompt: | ||
|
|
||
| ```text | ||
| CRITICAL REPOSITORY BOUNDARY: | ||
| - Do not make changes outside this repository for any reason. | ||
| - Repository path: current repository root. | ||
| - You may inspect external references read-only when the task requires it. | ||
| - Write, edit, delete, move, reset, checkout, install, generate, cache, or format nothing outside this repository. | ||
| - The only write exception outside the repository is /tmp. | ||
| - Prefer .local/ inside this repository for scratch work, generated temporary files, cloned references, logs, and working notes. | ||
| ``` | ||
|
|
||
| ## Execution Log | ||
|
ktsaou marked this conversation as resolved.
Resolved
|
||
|
|
||
| None yet. | ||
|
|
||
| ## Validation | ||
|
|
||
| Pending. | ||
|
|
||
| ## Outcome | ||
|
|
||
| Pending. | ||
|
|
||
| ## Lessons Extracted | ||
|
|
||
| Pending. | ||
|
|
||
| ## Followup | ||
|
|
||
| None yet. | ||
|
|
||
| ## Regression Log | ||
|
|
||
| None. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.