Centralize recorded-operation fallback formatting - #3103
Chris0Jeky wants to merge 4 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Chris0Jeky
left a comment
There was a problem hiding this comment.
Fresh-context review: no merge-blocking presentation or compatibility finding on this head.
The shared formatter now fails soft on malformed legacy values without mutating stored operations. Trimming before normalization prevents whitespace-only labels and preserves the existing lifecycle aliases; ordinary camel/snake/kebab values still use the established transformation. The applied decision record removes its third local formatter and uses the same lifecycle vocabulary as Paper and shared display-name paths.
The fallback still emits the localized not recorded value when both action and target are absent, rather than producing a dangling separator. Exact-head Required CI, CI Extended, and Smart CI are completed successfully. The duplicate supporting note and Create Card Card cosmetic remain honestly outside this slice under #1434. This PR is ready for maintainer review.
Purpose
Take two bounded presentation residuals recorded after #2729 without reopening the already-delivered Paper/Legacy parity work.
This slice:
actionTypevalues degrade to empty presentation copy instead of throwing;Red → green evidence
RED — exact test-only head. Commit
33ead2aaba85efd9f1be7f741b116832d8e63cceadded the focused regressions before production changed. CI run34913696668, Windows frontend job104206634868, passed lint, typecheck, build, and PWA validation, then failed the frontend test phase on the intended boundaries:undefinedraisedCannot read properties of undefined (reading 'toLowerCase');archive lifecycle · cardinstead ofarchive · card.That first test-only pass also pinned a duplicate supporting-note sentence. The implementation connector could not safely patch that large orchestrator without replacing the entire file, so commit
85d211c8d3e8affefb5e82ec41a3b03f2b06ce10narrows the regression suite to the two source-level residuals rather than risking unrelated churn. The duplicate-note copy remains explicitly open.GREEN — exact hosted head. Commit
85d211c8d3e8affefb5e82ec41a3b03f2b06ce10contains the shared formatter guard, the applied-record consolidation, and the focused tests.34914268771: success.34914268968: success.34914269002: success.Scope
Create Card Cardcross-shell cosmetic and duplicate stored-operations note remain outside this slice.Refs #1434