Development record
abcd-s-own-development-record-is-built
Summary
abcd's own record moves onto abcd's own GitHub Pages, built by the same workflow site setup --provider github-pages writes for any project (itd-2610091010348892), and from what abcd writes to the repository and nothing else (the product thinker's single-source ruling of 2026-10-15). abcdev.app becomes abcd's documentation site until a community site replaces it. abcdesign.app is the team-brief editing page for any abcd-managed repository (itd-2610091016262335). This intent is planned now and built after itd-2610091010348892 ships; it is blocked by that intent.
The three addresses after the move:
- abcd's GitHub Pages address. It carries abcd's about page and record, built like any project's at each release. No hand-written docs and no file written for the website go into it.
- abcdev.app. It carries abcd's documentation, rendered in high quality from
docs/, from MkDocs Material. abcdev.app's landing page and docs, today composed through.abcd/site.jsonfromdocs/, stay as they are. They are the documentation's own front page, not a project site. - abcdesign.app. It is the static brief-session page, published from a repository of its own (spc-2610141709430146).
What changes in abcd's repository:
- abcdev.app's deploy narrows to the documentation. The existing deploy (adr-48: on release, from released bytes) keeps building the docs and their landing page. It stops building the record explorer:
/record/,/contributors/and/references/leave abcdev.app.- Each of those addresses forwards with a 301 to the same path on abcd's GitHub Pages site, query kept. The forwarding goes in the docs host's redirect file (
site-src/redirects), so no rule is kept outside the repository. - The docs' own 301s for the paths moved under /docs/ stay.
- Links in the README and docs to abcd's record point at the Pages address.
- Each of those addresses forwards with a 301 to the same path on abcd's GitHub Pages site, query kept. The forwarding goes in the docs host's redirect file (
- abcd's repository switches its record on to the project route. The switch is set in abcd's settings and the generated workflow is added. Its about page comes from abcd's identity block, the brief, the newest shipped intents' press releases and the changelog, exactly as for any project.
- abcd's current
.abcd/site.jsoncomposition andsite-src/stay as the documentation site's own sources. - The project route reads neither, and its gate fails on any text not from a file abcd writes.
- abcd's current
- Security headers on GitHub Pages. GitHub Pages ignores
_headers(iss-2610142036270003). Every document the project route renders carries its content policy as a page element. Framing refusal and the no-sniff header cannot be carried, and that is named in the decision record. abcdev.app keeps its response headers on its own host. - The preview of
main. It stays with the documentation deploy on abcdev.app. The record has no preview, because a repository has one Pages site. The site-render gate still renders and checks every change.
The cut-over is ordered, and each outward step is confirmed by the person first:
- The first Pages release is published and checked at the Pages address.
- The forwarding of the record's addresses is switched on, and a sample of old record links is checked.
- Only then does the documentation deploy stop building the record.
A failure at any step leaves the record where it was.
Records. A new decision record amends adr-48: abcdev.app's deploy narrows to the documentation, and the record moves to the project route. adr-48's rule that a site deploys on release, from released bytes, stands for both.
Footprint
- packages: internal/core/site, internal/core/site/setupsrc, internal/adapter/hosting/githubpages, site-src, docs/, .github/workflows, .abcd/site.json
- tests: internal/core/site, internal/adapter/hosting/githubpages, internal/surface/cli
Steps
- The project route carries its content policy in each page and emits no Cloudflare files (resolves iss-2610142036270003)
- packages: internal/core/site, internal/adapter/hosting/githubpages
- tests: internal/core/site, internal/adapter/hosting/githubpages
- landed: 1de72e16b2af
- abcd's repository switches its record on to the project route, and its README and docs link the record at the Pages address
- packages: .abcd/, .github/workflows, docs/
- tests: internal/core/site, internal/surface/cli
- landed: 8e75517b7a81
- abcdev.app's deploy narrows to the documentation and forwards the record's addresses, with the decision record amending adr-48
- packages: internal/core/site, site-src, .github/workflows, docs/
- tests: internal/core/site
- The cut-over, each outward act confirmed by the person: the first Pages release, then the forwarding, then dropping the record from abcdev.app's build
- packages: .github/workflows, site-src
- tests: internal/core/site
Frontmatter
| id | spc-2610142146250176 |
|---|---|
| type | spec |
| lifecycle | open |
.abcd/development/specs/open/spc-2610142146250176-abcd-s-own-development-record-is-built.md
open on GitHub ↗ · commit history ↗
References1
- itd-2610142145236613abcd's own record is built onto its GitHub Pages like any project'simplements
mentions7
- adr-48The website deploys on release, not on merge
- adr-2610142147242544abcd's record is built onto its own GitHub Pages, and abcdev.app becomes abcd's documentation site
- iss-2610080546203039The implement loop titles a lane's pull request from its issue's title; when that title names another record id, RS004 refuses the PR because no Refs line declares it (PR #865 named iss-2609261536147903 from its issue's title; fixed by hand by editing the body).
- iss-2610142036270003On the github-pages hosting provider the site loses the security headers abcd's own site serves: the build copies site-src/headers to _headers, which Cloudflare reads and GitHub Pages ignores, so a project site on GitHub Pages is served without the Content-Security-Policy and the other headers that file declares.
- itd-2610091010348892An opted-in project's record is built at each release onto its own GitHub Pages
- itd-2610091016262335A team edits its brief together live during a call, on abcdesign.app or on the host's own computer
- spc-2610141709430146the-product-thinker-and-the-technical