FE-1447: Emit layer facts and relations as structured data with card components - #9248
Draft
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 14:35
64bebcf to
56e9cf5
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 15:49
56e9cf5 to
15d1a3b
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 16:06
15d1a3b to
8a29a39
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 16:15
8a29a39 to
a3d34a5
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 16:22
a3d34a5 to
451917b
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 16:47
451917b to
0e2fd9c
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 21:44
a21f49e to
63d8388
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 21:53
63d8388 to
1e0249a
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 22:16
1e0249a to
e45990f
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 22:54
e45990f to
5c53235
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 22:56
5c53235 to
5317791
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 19, 2026 23:45
5317791 to
1d593c7
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 20, 2026 00:26
1d593c7 to
fee271e
Compare
kube
force-pushed
the
cf/fe-1447-arch-docs-emit-layer-facts-and-relations-as-structured-data
branch
from
August 20, 2026 00:29
fee271e to
3513732
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
🌟 What is the purpose of this PR?
Implements FE-1447: generated layer pages baked their facts into MDX prose (the Package/Layer id/Files/Lines line, "Declared in", and the "Depends on" / "Depended on by" heading-plus-table blocks), so a host could not restyle them. The pages now render two components shipped in the bundle, receiving structured props.
Top of stack #9226, on FE-1443 (its "Declared" edge tables fold into the relations component).
🔗 Related links
🔍 What does this change?
libs/@local/petrinaut-arch-docs:components/beside authored ones:LayerFacts: an aligned Package / Layer id / Files / Lines grid with a Declared-in footer link, as one compact bordered card. The role reads as the page's plain lead paragraph above it, outside the card.LayerRelations: both directions side by side (single column under 640px) with the column headings top-aligned, layer names left and count/pkgbadges pinned right, and a dashed protocol pill on its own line for declared edges.LayerSource: the file count and source root as a matching card, replacing the old "Source" heading and sentence.currentColorviacolor-mix, so both Starlight themes work without theme-specific rules.mdx.ts): pages import the components by page-relative path and pass props as JSON expressions (JSX string attributes cannot escape a"in a role). One relation entry per line keeps diffs reviewable. Pages without edges emit no relations block.architecture.mdkeeps plain text.content/components/.Contract note, documented in the README: hosts now need a React-capable MDX pipeline for generated layer pages, not only for authored pages.
Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
🛡 What tests cover this?
mdx.test.ts: import-path depth per page, structured props, declared-edge entries in the relations props, and the removal of the old heading-plus-table sections.lint:arch-docsandturbo run build --filter @apps/petrinaut-docsprove the emitted MDX compiles and renders.❓ How to test this?
turbo run dev --filter @apps/petrinaut-docsarchitecture/bindings): the facts card replaces the header prose, the relations card shows both directions, and the declared edge toclirenders as a dashed protocol pill.🤖 Generated with Claude Code