Skip to content

Make Paper eyebrow absence explicit in root inventory - #3107

Draft
Chris0Jeky wants to merge 2 commits into
mainfrom
codex/1868-explicit-eyebrow-absence
Draft

Chris0Jeky wants to merge 2 commits into
mainfrom
codex/1868-explicit-eyebrow-absence

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Purpose

Address the concrete type-safety residual recorded after #2644 under #1868. PAPER_VIEW_ROOTS is declared with an optional eyebrow, but the two roots without one omitted the property entirely. Because the frontend-root tests/ lane is not type-checked, flatMap(({ view, eyebrow }) => ...) could destructure a property the inferred union did not guarantee without any compiler receipt.

The inventory now gives every entry the same structural keys. A root with no page eyebrow records eyebrow: undefined explicitly, preserving the literal view-name union and existing filtering behavior.

Red → green evidence

RED — exact test-only head. Commit ec7667c13c37e829c7a0fe8470a82dd09e29f626 added only paperRootInventory.spec.ts. CI run 34916869708, Ubuntu frontend job 104216664619, passed lint, typecheck, production build, and PWA validation, then failed the frontend test phase. Its archived JUnit receipt reports 6,913 tests and exactly one failure. The received missing-property list is precisely:

  • AutomationChatView.vue
  • DevToolsView.vue

GREEN candidate. Commit fb762d36366a190c92bea2ba5c9546f11b6ed822 adds eyebrow: undefined to those two objects and changes no other inventory value. Its exact-head hosted matrix is the evidence gate; this PR remains draft until that matrix settles.

Scope

  • Test inventory metadata only; no production component, CSS, token, selector, theme, or runtime behavior changes.
  • The broader view-tree discovery, badge-distance, guard-regex, exact exemption-body, core-loop selector, and ADR wording residuals remain open.

Refs #1868

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pending

Development

Successfully merging this pull request may close these issues.

1 participant