Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Sources/SpecGraph/Documentation.docc/ArtifactPublishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ channels.
GitHub Pages owns the technical surface:

- the repository root technical entrypoint;
- DocC documentation under `documentation/SpecGraph/`, which redirects to the
generated lowercase DocC module path `documentation/specgraph/`;
- DocC documentation under `documentation/specgraph/`;
- a mixed-case `documentation/SpecGraph/` compatibility redirect for old links;
- future generated technical artifacts that belong next to documentation.

The root page is intentionally not the product landing page.

## Static Host

The custom static host owns product-facing landing content and generated public
artifact bundles. Static-host uploads must remain non-destructive so separate
jobs do not delete each other's files.
The specgraph.tech static host owns product-facing landing content and generated
public artifact bundles. Static-host uploads must remain non-destructive so
separate jobs do not delete each other's files.

## Boundary

Expand Down
4 changes: 2 additions & 2 deletions Sources/SpecGraph/Documentation.docc/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ The repository keeps the following surfaces separate:
- `tools/` contains Python tooling for derived surfaces and validation gates.
- `runs/` contains local runtime artifacts and is not published directly.
- GitHub Pages publishes the technical entrypoint and DocC documentation.
- The custom static host publishes product-facing landing content and generated
public artifacts.
- The specgraph.tech static host publishes product-facing landing content and
generated public artifacts.

## Routine Validation

Expand Down
6 changes: 3 additions & 3 deletions Sources/SpecGraph/Documentation.docc/SpecGraph.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ The current public surfaces are:
- a GitHub Pages technical root;
- generated static artifacts for read-only consumers;
- proposal and runtime-evidence documentation under `docs/`;
- product landing content on the custom static host.
- product landing content on the specgraph.tech static host.

Product landing and technical documentation are separate publication surfaces.
The custom/static host owns product-facing landing content. GitHub Pages owns
generated technical documentation and public artifact entrypoints.
The specgraph.tech static host owns product-facing landing content. GitHub Pages
owns generated technical documentation and public artifact entrypoints.

## Source Documents

Expand Down
8 changes: 4 additions & 4 deletions docs/github-pages-root/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ <h1>SpecGraph technical surface.</h1>
<p class="lead">
This root is reserved for documentation, generated artifacts, and
integration entrypoints. The product landing page is published on the
custom static host instead.
specgraph.tech static host instead.
</p>

<section class="grid" aria-label="Technical entrypoints">
Expand All @@ -154,7 +154,7 @@ <h1>SpecGraph technical surface.</h1>
Current generated dashboard surface consumed by viewers.
</span>
</a>
<a class="card" href="https://0al-spec.github.io/SpecGraph/documentation/SpecGraph/">
<a class="card" href="https://0al-spec.github.io/SpecGraph/documentation/specgraph/">
<span class="label">Docs</span>
<span class="title">DocC documentation</span>
<span class="desc">
Expand All @@ -165,13 +165,13 @@ <h1>SpecGraph technical surface.</h1>
<span class="label">Product</span>
<span class="title">SpecGraph landing page</span>
<span class="desc">
Product-facing page owned by the custom static host.
Product-facing page owned by the specgraph.tech static host.
</span>
</a>
</section>

<p class="boundary">
Boundary: custom/static host owns product landing; GitHub Pages owns a
Boundary: specgraph.tech owns product landing; GitHub Pages owns a
technical entrypoint and must not deploy landing/ to repository root.
</p>
</main>
Expand Down
15 changes: 9 additions & 6 deletions docs/static_artifact_publish.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,15 @@ surface.

GitHub Pages is not the product landing surface. The repository Pages root is
published from `docs/github-pages-root/` as a technical entrypoint with links to
the operator-facing DocC entrypoint at `documentation/SpecGraph/`, the public
artifact manifest, generated runs, and the custom landing page. The DocC plugin
emits the generated module page at lowercase `documentation/specgraph/`; the
workflow publishes a mixed-case compatibility redirect so both entrypoints stay
usable. Do not deploy `landing/` to GitHub Pages root; doing so can create
navigation loops where documentation links return to the marketing page.
the operator-facing DocC entrypoint at `documentation/specgraph/`, the public
Comment thread
SoundBlaster marked this conversation as resolved.
artifact manifest, generated runs, and the custom landing page at
`https://specgraph.tech/`. The specgraph.tech static host owns the product
landing page; GitHub Pages owns only the technical documentation and integration
entrypoints. The workflow publishes a mixed-case
`documentation/SpecGraph/` compatibility redirect for old links, but new links
should use the lowercase DocC path emitted by the plugin. Do not deploy
`landing/` to GitHub Pages root; doing so can create navigation loops where
documentation links return to the marketing page.

The source `runs/` directory remains local and unchanged. The publish bundle is
a redacted mirror: local absolute paths such as `/Users/...` are replaced with
Expand Down
2 changes: 1 addition & 1 deletion tests/test_publish_static_artifacts_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def test_github_pages_root_docs_card_points_to_docc_entrypoint() -> None:
Path(__file__).resolve().parents[1] / "docs" / "github-pages-root" / "index.html"
).read_text(encoding="utf-8")

assert "https://0al-spec.github.io/SpecGraph/documentation/SpecGraph/" in root_page
assert "https://0al-spec.github.io/SpecGraph/documentation/specgraph/" in root_page
assert "https://github.com/0al-spec/SpecGraph/tree/main/docs" not in root_page


Expand Down
Loading