Skip to content

backlog(B-0154): GitHub Pages for SEO/discoverability + Wiki first-class (Aaron 2026-05-01)#1125

Merged
AceHack merged 13 commits intomainfrom
backlog/b0154-github-pages-seo-plus-wiki-first-class-aaron-2026-05-01
May 1, 2026
Merged

backlog(B-0154): GitHub Pages for SEO/discoverability + Wiki first-class (Aaron 2026-05-01)#1125
AceHack merged 13 commits intomainfrom
backlog/b0154-github-pages-seo-plus-wiki-first-class-aaron-2026-05-01

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 1, 2026

Summary

Aaron 2026-05-01 directional input — two distinct host integrations, ordered by priority:

  1. Phase 1 (P1, blocking discoverability) — GitHub Pages publish workflow + initial content + topics + sitemap
  2. Phase 2 (P2, after Phase 1 ships) — GitHub Wiki seeding + first-class integration shape

Aaron's framing verbatim:

"we should use github in two ways for this, 1 see about integrating with github wiki as first class, and 2 this one is higher priority, github pages, once that gets indexed by the search engines, we will have maintainers about to find us from google search with out that we are never goona rank on the search results not even for DBSP F#"

Why now — the 404-stall finding

Pre-filing audit revealed:

  • Pages enabled at host level with URL `https://lucent-financial-group.github.io/Zeta/\` allocated
  • BUT URL returns HTTP 404 — `status: null` in Pages API; no successful build
  • `build_type: workflow` expects custom workflow that doesn't exist
  • 404 indexed at Pages URL is worse than no Pages — Google may remember as broken
  • Repo `topics` is empty — pure SEO miss

Without Phase 1 landing, Zeta won't rank for "DBSP F#" or any niche query. Maintainer-recruit funnel broken at discovery step.

Phase 1 acceptance criteria

  1. `.github/workflows/pages-deploy.yml` SHA-pinned per FACTORY-HYGIENE row deps: bump actions/setup-node from 6.0.0 to 6.4.0 #43
  2. Static-site generator choice (default Jekyll, evaluate MkDocs Material / Docusaurus if evidence)
  3. Content sources: README + VISION + ALIGNMENT + GLOSSARY + selected docs/research; exclude memory/ + hygiene-history/ + backlog/ + ADRs
  4. SEO metadata on every page (title, description, canonical, Open Graph, JSON-LD)
  5. `robots.txt` + `sitemap.xml` auto-generated
  6. Repo topics: dbsp / fsharp / dotnet / incremental-computation / streaming-database / differential-dataflow / database / query-engine / formal-verification / tla-plus
  7. Sitemap submission to Google Search Console + Bing Webmaster Tools (one-time manual)

Phase 2 acceptance criteria

  1. Wiki seeded with Home / Architecture / Contributing / Glossary
  2. First-class integration shape decision: Option A (sync from in-repo source via workflow) vs Option B (wiki-as-canonical with snapshot mirror)
  3. Wiki vs Pages division: Pages = SEO-optimized public-facing; Wiki = browsable internal-but-public knowledge base

Composes with

Test plan

Effort

M for Phase 1 (workflow + content + topics + sitemap, 1-3 days). S for Phase 2 (wiki seeding, after Phase 1 ships).

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings May 1, 2026 16:56
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d4365db098

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new P1 backlog row to drive Phase 1 GitHub Pages publishing for discoverability/SEO, with a Phase 2 follow-on for GitHub Wiki “first-class” integration.

Changes:

  • Added new backlog item B-0154 with phased acceptance criteria for Pages + Wiki.
  • Updated docs/BACKLOG.md index to include the new row.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
docs/backlog/P1/B-0154-github-pages-seo-discoverability-plus-wiki-first-class-aaron-2026-05-01.md New backlog row capturing requirements/acceptance criteria for GitHub Pages + Wiki integration.
docs/BACKLOG.md Backlog index updated to list B-0154 under P1.

@AceHack AceHack force-pushed the backlog/b0154-github-pages-seo-plus-wiki-first-class-aaron-2026-05-01 branch from 9cc3dc8 to 780dc07 Compare May 1, 2026 17:33
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 780dc07ba5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

AceHack added a commit that referenced this pull request May 1, 2026
…er explicit-allow criterion (Aaron 2026-05-01)

Aaron 2026-05-01: *"we should make sure we have our wiki seo
optimize to explicitly allow agents crawlers to consume it too"*
+ *"or github pages i mean or both however it works."*

Five fixes in one commit:

1. **GitHub topics limit corrected**: "12 topics is GitHub max"
   → "max 20 topics per GitHub repository topic limits" (codex
   thread). Verified against current GitHub docs.

2. **SHA-pin vs `@vX` placeholder consistency**: removed `@vX`
   tag-placeholder syntax; just say "SHA-pinned (no tag
   references)" per FACTORY-HYGIENE row #43 (copilot thread).

3. **Memory file reference fixed**: filename was wrong
   (`_scheduled_budget_` instead of
   `_scheduled_backlog_and_cost_estimate_`). Corrected.

4. **B-0143 forward-ref annotation**: added "(forward-ref to
   PR #1115 not yet merged on main)" so reader knows it's a
   sibling-PR cross-reference, not a phantom backlog row.

5. **NEW criterion #8 — AI-agent-crawler explicit allow**:
   robots.txt + JSON-LD + Open Graph for GPTBot / ClaudeBot /
   PerplexityBot / Google-Extended / CCBot / Cohere-AI /
   FacebookBot / YouBot / DuckAssistBot. Many sites BLOCK these;
   we EXPLICITLY ALLOW for maintainer-discovery via AI search.
   Pages-primary, Wiki-secondary per Aaron's "i've never used
   the wiki, i've used github pages with the jekyll" note.

Renumbered Playwright (was 8) → 9, DORA (was 9) → 10.
Copilot AI review requested due to automatic review settings May 1, 2026 17:37
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 67b7c0717a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

AceHack added a commit that referenced this pull request May 1, 2026
…low + visibility-constraint clarification + B-0154 forward-ref annotation

Three substantive fixes:

1. **Line-leading `+` on continuation** (MD004 lint, recursive
   irony from B-0153's class 1) — reflowed "+ tick-history-order"
   to "and tick-history-order" so the continuation doesn't read
   as a nested bullet.

2. **Visibility-constraint memory reference** — referenced filename
   doesn't exist in repo (rule is referenced PROSEFULLY in MEMORY.md
   + multiple memory files but never landed as its own dedicated
   memory file). Replaced broken pointer with prose acknowledgement
   + verbatim Aaron 2026-04-28 quote, and noted the rule is
   referenced-not-yet-filed.

3. **B-0154 depends_on forward-ref** — annotated as "(forward-ref
   to PR #1125 not yet merged on main)" so the DAG semantics are
   explicit.

Threads PRRT_kwDOSF9kNM5_Awkw + PRRT_kwDOSF9kNM5_AwlS (about
"Current state" inconsistency with snapshot showing code_quality
+ strict:true) are now stale — post-rebase, this branch reflects
post-PR-#1126 state which matches the row content. Resolving
those without code change.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 13 comments.

AceHack added a commit that referenced this pull request May 1, 2026
…e preferred (Aaron 2026-05-01) (#1127)

* backlog(B-0155): GitHub settings refactor — ruleset split + git-native preferred (Aaron 2026-05-01)

Aaron 2026-05-01: *"the settings that are there are accidental
complexity not intentional, we want best practices and to prefer
the git native settings over the legacy github ui/cli only
settings, these are nasty thats why they are legacy"* + earlier
*"splitting rulesets so you could have all always on but multiple
smaller rulesets"*.

Three composing directives captured:
1. Treat current settings as accidental complexity (not load-bearing)
2. Split single big ruleset → three concern-aligned smaller always-on
   rulesets (Branch integrity / Review process / CI gate)
3. Prefer git-native (declarative-in-tree + ruleset-as-code) over
   legacy UI/CLI-only branch-protection settings

Phase plan: audit + design, split implementation, branch-protection
cleanup, documentation. Reconciliation script
(tools/hygiene/apply-github-settings.sh) as mechanization candidate
that makes click-ops drift structurally impossible.

depends_on: B-0154 (sibling host-config refactor work).

* docs(github-settings): B-0155 Phase 1 audit + migration matrix + three-ruleset target shape

Phase 1 deliverable for B-0155 — audit-only, no host changes yet.

Captures:

1. Migration matrix — every legacy branch-protection field mapped to its
   ruleset rule equivalent (or "no equivalent, keep in legacy") so
   future maintainers + the reconciliation script (Phase 2) have a
   ground-truth reference for what migrates and what stays.

2. Three-ruleset target shape — Branch integrity / Review process /
   CI gate. Each concern-aligned, all always-on, smaller blast-radius
   per Aaron's "splitting rulesets so you could have all always on
   but multiple smaller rulesets" framing.

3. Minimized branch protection — post-migration, only
   `allow_fork_syncing` (legacy-only) remains in branch protection.
   Everything else moves to rulesets where rule equivalents exist.

4. Git-native rationale — captures Aaron's "these are nasty thats
   why they are legacy" framing + the reconciliation script direction
   that closes the loop on click-ops drift.

5. Reconciliation script vision — `tools/hygiene/apply-github-settings.sh`
   as the third verb (alongside snapshot + check) that makes drift
   structurally impossible.

Audit-only commit; Phase 2 (snapshot edit + reconciliation script
+ apply) is a separate PR after this row's audit lands.

* backlog(B-0155): address PR #1127 review threads — line-leading + reflow + visibility-constraint clarification + B-0154 forward-ref annotation

Three substantive fixes:

1. **Line-leading `+` on continuation** (MD004 lint, recursive
   irony from B-0153's class 1) — reflowed "+ tick-history-order"
   to "and tick-history-order" so the continuation doesn't read
   as a nested bullet.

2. **Visibility-constraint memory reference** — referenced filename
   doesn't exist in repo (rule is referenced PROSEFULLY in MEMORY.md
   + multiple memory files but never landed as its own dedicated
   memory file). Replaced broken pointer with prose acknowledgement
   + verbatim Aaron 2026-04-28 quote, and noted the rule is
   referenced-not-yet-filed.

3. **B-0154 depends_on forward-ref** — annotated as "(forward-ref
   to PR #1125 not yet merged on main)" so the DAG semantics are
   explicit.

Threads PRRT_kwDOSF9kNM5_Awkw + PRRT_kwDOSF9kNM5_AwlS (about
"Current state" inconsistency with snapshot showing code_quality
+ strict:true) are now stale — post-rebase, this branch reflects
post-PR-#1126 state which matches the row content. Resolving
those without code change.

* backlog(B-0155): strict:false confirmed deliberate (Aaron 2026-05-01) — graduates from accidental to canonical

Aaron 2026-05-01: *"no we want false"* + *"yes that is not
accidentally"* — explicit confirmation that `required_status_checks.strict: false`
is the intentional design choice, not accidental complexity.

Sharpens the everything-greenfield rule: the DEFAULT prior at
week-one is "configs are accidental candidates," but specific
configs can graduate to confirmed-deliberate via direct
maintainer signal. `strict: false` is one such confirmed-
deliberate setting (parallel-PR-friendly cadence is the
architecture).

Composes with feedback_everything_greenfield_at_week_one's
cause-attribution refinement (the click-vs-decision
discipline; Aaron just made the click-then-decision
graduation explicit for this specific setting).
AceHack added 4 commits May 1, 2026 13:52
…ass (Aaron 2026-05-01)

Aaron 2026-05-01 directional input — Pages priority 1, Wiki
priority 2. Without Pages indexed by search engines, Zeta won't
rank for "DBSP F#" queries → maintainer-recruit funnel broken
at discovery step.

Current host state: Pages enabled with URL allocated but
returns HTTP 404 (no successful build, expects workflow-based
deploy that doesn't exist). 404-stall at indexed URL is worse
than no Pages.

Two-phase scope: Phase 1 = Pages workflow + initial content +
topics + sitemap (M effort); Phase 2 = Wiki seeding + first-
class integration (S effort, after Phase 1 ships).

depends_on B-0047 (P3 PR/marketing/SEO/GTM umbrella). Sharper
focused-execution leaf inside B-0047's umbrella.
…trics (Aaron 2026-05-01)

Aaron 2026-05-01 *"feel free to use playwright to test our github pages at any
times this should give you the full deployment experience at least frontend
deployments that can be measured with DORA and things like that"* + *"no backend
yet other than git is the backend for our UI until we decide what's next and
cheap/free"*.

Two new Phase 1 acceptance criteria:

8. Playwright validation harness — HTTP 200, metadata, nav, sitemap, OG preview,
   mobile viewport. Pre-merge CI + post-deploy + scheduled cadence.

9. DORA metrics on frontend deployments — deployment frequency, lead time for
   changes, MTTR, change-failure-rate. Tracked at the only DORA layer that exists
   (frontend) until backend decisions land. Composes with B-0147 timeseries-DB +
   metrics-are-our-eyes substrate.

Architectural note preserved verbatim: git IS the backend for the UI; future
backend decision pending and budget-constrained (cheap/free).
…er explicit-allow criterion (Aaron 2026-05-01)

Aaron 2026-05-01: *"we should make sure we have our wiki seo
optimize to explicitly allow agents crawlers to consume it too"*
+ *"or github pages i mean or both however it works."*

Five fixes in one commit:

1. **GitHub topics limit corrected**: "12 topics is GitHub max"
   → "max 20 topics per GitHub repository topic limits" (codex
   thread). Verified against current GitHub docs.

2. **SHA-pin vs `@vX` placeholder consistency**: removed `@vX`
   tag-placeholder syntax; just say "SHA-pinned (no tag
   references)" per FACTORY-HYGIENE row #43 (copilot thread).

3. **Memory file reference fixed**: filename was wrong
   (`_scheduled_budget_` instead of
   `_scheduled_backlog_and_cost_estimate_`). Corrected.

4. **B-0143 forward-ref annotation**: added "(forward-ref to
   PR #1115 not yet merged on main)" so reader knows it's a
   sibling-PR cross-reference, not a phantom backlog row.

5. **NEW criterion #8 — AI-agent-crawler explicit allow**:
   robots.txt + JSON-LD + Open Graph for GPTBot / ClaudeBot /
   PerplexityBot / Google-Extended / CCBot / Cohere-AI /
   FacebookBot / YouBot / DuckAssistBot. Many sites BLOCK these;
   we EXPLICITLY ALLOW for maintainer-discovery via AI search.
   Pages-primary, Wiki-secondary per Aaron's "i've never used
   the wiki, i've used github pages with the jekyll" note.

Renumbered Playwright (was 8) → 9, DORA (was 9) → 10.
@AceHack AceHack force-pushed the backlog/b0154-github-pages-seo-plus-wiki-first-class-aaron-2026-05-01 branch from 67b7c07 to b8e1b7c Compare May 1, 2026 17:52
AceHack added 2 commits May 1, 2026 14:32
…ite selection (Aaron 2026-05-01)

Five substantive Copilot/codex review findings addressed:

1. Line 8 (depends_on schema): added forward-compat note
   pointing at the 2026-05-01 backlog-hygiene extension
   memo. The field is informational-only until tooling
   catches up; authoring is the discipline now.

2. Line 65 (contents permission): added explicit
   `contents: read` requirement. GitHub Actions defaults
   unspecified scopes to `none` once `permissions:` is
   set, breaking `actions/checkout` without it.

3. Line 74 (glob fix): `docs/**.md` -> `docs/**/*.md`
   (the original glob doesn't match nested files).

4. Line 97 (robots.txt + sitemap.xml): rewritten with
   upstream-anchored fact (jekyll-sitemap DOES auto-gen
   robots.txt per upstream source + issue #189; the
   Copilot reviewer's claim was based on stale info) +
   factored out via the per-tool generation strategy in
   criterion #2.

5. Line 145 (Wiki indexing preconditions): added
   GitHub-Wiki-indexing prerequisites note (star
   threshold + restricted-public-editing); Phase 2
   acceptance must verify both OR scope SEO success to
   Pages only.

Plus criterion #2 rewritten as problem-driven tool selection:

- Factored out the problem statement (markdown render,
  sitemap+robots, SEO meta, AI-agent crawler accessibility,
  GitHub Pages, minimize new dep surface, DST-achievable,
  GitHub-native + git-native).
- Compared 6 candidate tools (Astro / Eleventy / Hugo /
  Jekyll / MkDocs Material / Docusaurus) on problem axes.
- Surviving discriminator analysis: Astro wins on every
  problem axis that actually discriminates (typed
  content-collections for docs/**/*.md, plain-HTML default,
  no new runtime dep, DST-compatible).
- Decision: Astro. Eleventy fallback. Phase 1 spike
  validates before commitment.

Critical correction caught by Aaron's "i dictated we use bun
and ts therefor" framing: previous draft was Aaron-as-anchor
(B-0156 trajectory + Aaron's "bun is probably enough" quote).
Recasted as problem-driven (best-tool-for-the-job analysis),
which independently arrives at Astro because Astro's
problem-axis match is the discriminator, not maintainer
preference.

11 anticipatory MD032 threads on this file resolve as
"lint passes" — npx markdownlint-cli2 returns EXIT=0; the
warnings were forward-looking predictions that didn't apply
to the actual file structure.
…re-driven (Aaron 2026-05-01)

Aaron 2026-05-01 (multiple-message correction cascade):
*"what outcomes are we solving for DORA and our backlog should
be driven by the outcomes we want to acheive this is very similar
maybe the same to all our parallel ... trajectories we are supposed
to keep constant trace of that you forgot after 30 minutes."*

The B-0154 trajectory had drifted to feature-list framing
(Pages publish + Wiki integrate + SEO meta + AI-agent
crawler list). The outcomes-driven framing puts the WHY
above the WHAT:

1. Discoverability (search ranking + AI-agent crawler hits)
2. Maintainer-recruitment funnel (Pages → contributor)
3. DORA frontend metrics (deployment freq / lead time /
   MTTR / change failure rate per criterion #9)
4. Bounded install graph (factory dependency discipline)

Per `memory/feedback_outcomes_over_vanity_metrics_goodhart_resistance.md`
+ `docs/active-trajectory.md` parallel-trajectories pattern
— outcomes are ends, tool choices are means. The Astro
decision in criterion #2 is justified BY which tool serves
each outcome best.

Recurring goldfish-ontology failure mode caught: the
outcomes-over-vanity-metrics rule was filed 2026-04-22;
forgotten within 30 min of authoring B-0154. Memo'd as
recurrent failure in the otto-buddy memo (PR #1132).
Copilot AI review requested due to automatic review settings May 1, 2026 18:34
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

…lename + criterion #5 Astro/Jekyll inconsistency (Copilot)
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37ae5e3972

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

AceHack added a commit that referenced this pull request May 1, 2026
Copilot AI review requested due to automatic review settings May 1, 2026 19:07
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

AceHack added 2 commits May 1, 2026 15:10
…05-01 'now i remember')

Aaron 2026-05-01: 'jekyl is first class on github that's why
i chose it' — clarifying the original Jekyll-preference reason.

My earlier dismissal of Jekyll's GitHub-native auto-build via
'criterion #1 voids that advantage' was tail-wagging-dog: the
explicit deploy workflow is required ONLY for non-Jekyll paths
(Bun-TS / Astro / Eleventy / Docusaurus / Hugo / MkDocs need
actions/deploy-pages). Jekyll path on GitHub Pages is
zero-config server-side build — no workflow file, no
SHA-pinning, no permissions stanza, no actions needed.

Updated criterion #2:
- GitHub-native-first-class is now its own discriminator
  axis (was wrongly merged with git-native).
- Surviving discriminators rewritten to show genuine
  Astro-vs-Jekyll tradeoff (each wins on different axes).
- Decision shape: Phase 1 spike BOTH paths. Recommendation
  is spike Jekyll first (faster path to discoverability;
  install graph unchanged because GitHub server-side-builds);
  migrate to Astro in Phase 3 if/when factory-coherence
  (TS content-collections, DST-checked build) becomes
  load-bearing for the docs site.

Captured Aaron's verbatim quote inline + meta-pattern that
the goldfish-ontology applies to BOTH of us (Aaron forgot
the reason; Otto under-weighted the axis; both rediscovered
the original-reason once it surfaced).
Copilot AI review requested due to automatic review settings May 1, 2026 19:16
…Aaron 2026-05-01 reversal)

Aaron 2026-05-01: 'this can be first class for us and more
portable, one less tool we have to worry about.'

Reverses the earlier Jekyll-first-class re-weight. The
'first-class' framing was host-coupling (GitHub-favored),
not factory-favored. Bun-based SSGs (BunPress, Bun-SSG,
Bunjucks, Fresh-Bun) provide the same SEO features (auto-
sitemap, robots.txt, Open Graph) without host-coupling.

Updated criterion #2:
- Bun-based SSG wins on factory-first-class + portability
  + zero-new-runtime axes
- BunPress specifically: docs-engine batteries-included
- Phase 1 spike evaluates Astro vs BunPress (both
  Bun/Node-native, different opinionatedness)
- Jekyll loses (host-coupling + Ruby is new runtime)

Captures Aaron's principle 'first class for us, not for
our host' inline + flags as substrate principle worth
canonical memo (filed as separate PR).
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dc42b38029

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a6f0100704

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

… not spike-vs-spike) — Copilot internal-consistency catch
Copilot AI review requested due to automatic review settings May 1, 2026 19:52
@AceHack AceHack merged commit e3a3d11 into main May 1, 2026
25 checks passed
@AceHack AceHack deleted the backlog/b0154-github-pages-seo-plus-wiki-first-class-aaron-2026-05-01 branch May 1, 2026 19:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Comment on lines +245 to +246
portable-first. Captured as substrate principle in
`memory/feedback_first_class_for_us_not_for_our_host_portability_over_host_coupling_aaron_2026_05_01.md`.
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dangling cross-reference: memory/feedback_first_class_for_us_not_for_our_host_portability_over_host_coupling_aaron_2026_05_01.md does not exist in the repo. Please either add the referenced memory file (and index it in memory/MEMORY.md), or update this pointer to the correct existing artifact / rephrase as a planned follow-up instead of an in-force capture.

Suggested change
portable-first. Captured as substrate principle in
`memory/feedback_first_class_for_us_not_for_our_host_portability_over_host_coupling_aaron_2026_05_01.md`.
portable-first. Treat this as the governing
substrate principle here; memory capture can follow
as separate backlog hygiene if still needed.

Copilot uses AI. Check for mistakes.
Comment on lines +267 to +293
5. **`robots.txt` + `sitemap.xml`** — generation strategy
depends on the chosen static-site generator (criterion #2
— Jekyll vs MkDocs vs Docusaurus):
- **Jekyll path (`jekyll-sitemap`)** — auto-generates
BOTH `sitemap.xml` AND a default `robots.txt` that
references the sitemap. Per upstream source at
<https://github.com/jekyll/jekyll-sitemap/blob/master/lib/robots.txt>
and [issue #189](https://github.com/jekyll/jekyll-sitemap/issues/189),
since v1.4.0 the plugin does NOT overwrite an existing
`robots.txt`. To carry the AI-agent allow-list
(criterion #8) we author a custom `robots.txt` checked
into the repo; that custom file takes precedence over
the plugin's default.
- **MkDocs path (`mkdocs-material` + plugins)** —
`sitemap.xml` is built into mkdocs-material core;
`robots.txt` requires `mkdocs-robotstxt` plugin OR
manual authoring under `docs/robots.txt`.
- **Docusaurus path** — `sitemap.xml` via
`@docusaurus/plugin-sitemap` (preset-default);
`robots.txt` via `static/robots.txt` (manual).
- **Decision factor**: criterion #2's problem-driven
analysis selects Astro (TS-native, content-collections,
plain-HTML default, no new runtime dep). The
AI-agent allow-list is generator-agnostic at the
file-content level — `static/robots.txt` works the
same way regardless of which path criterion #2
ultimately ships.
Copy link

Copilot AI May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Criterion #5 still frames robots.txt/sitemap.xml as depending on a generator choice (Jekyll vs MkDocs vs Docusaurus), but criterion #2 earlier states the decision is Astro. Please reconcile this section so the backlog row has a single coherent decision (e.g., describe the Astro approach, or explicitly mark these as historical alternatives).

Suggested change
5. **`robots.txt` + `sitemap.xml`** — generation strategy
depends on the chosen static-site generator (criterion #2
— Jekyll vs MkDocs vs Docusaurus):
- **Jekyll path (`jekyll-sitemap`)** — auto-generates
BOTH `sitemap.xml` AND a default `robots.txt` that
references the sitemap. Per upstream source at
<https://github.com/jekyll/jekyll-sitemap/blob/master/lib/robots.txt>
and [issue #189](https://github.com/jekyll/jekyll-sitemap/issues/189),
since v1.4.0 the plugin does NOT overwrite an existing
`robots.txt`. To carry the AI-agent allow-list
(criterion #8) we author a custom `robots.txt` checked
into the repo; that custom file takes precedence over
the plugin's default.
- **MkDocs path (`mkdocs-material` + plugins)**
`sitemap.xml` is built into mkdocs-material core;
`robots.txt` requires `mkdocs-robotstxt` plugin OR
manual authoring under `docs/robots.txt`.
- **Docusaurus path**`sitemap.xml` via
`@docusaurus/plugin-sitemap` (preset-default);
`robots.txt` via `static/robots.txt` (manual).
- **Decision factor**: criterion #2's problem-driven
analysis selects Astro (TS-native, content-collections,
plain-HTML default, no new runtime dep). The
AI-agent allow-list is generator-agnostic at the
file-content level — `static/robots.txt` works the
same way regardless of which path criterion #2
ultimately ships.
5. **`robots.txt` + `sitemap.xml`** — Astro implementation:
- Criterion #2 already selects **Astro** for the Pages
site, so this row should describe the Astro path rather
than generator alternatives.
- **`sitemap.xml`** — generate via Astro's sitemap support
so the published Pages site emits a crawlable sitemap
for all public docs pages.
- **`robots.txt`** — author a custom static file in the
Astro site and check it into the repo so it can carry
the AI-agent allow-list from criterion #8 and reference
the generated sitemap.
- The AI-agent allow-list remains generator-agnostic at
the file-content level, but for this backlog row the
concrete shipping plan is the Astro layout above.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e4b25bf577

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +322 to +325
- `GPTBot` (OpenAI search)
- `ClaudeBot` / `Claude-Web` / `anthropic-ai` (Anthropic)
- `PerplexityBot` (Perplexity)
- `Google-Extended` (Google's AI training corpus)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add real AI search crawlers to robots allow-list

The acceptance criteria’s crawler list is missing the agents that actually power AI search discovery (OAI-SearchBot for ChatGPT Search and Claude-SearchBot for Anthropic search), while listing training-oriented tokens like GPTBot and Google-Extended. OpenAI’s and Anthropic’s docs describe those search-specific user-agents as the ones needed for indexing, and Google states Google-Extended does not affect Google Search inclusion/ranking. If this list is implemented as the canonical robots policy, Phase 1 can be marked complete while still failing discoverability in the AI search channels this item targets.

Useful? React with 👍 / 👎.

Comment on lines +301 to +303
- `description`: keep current "F# implementation of DBSP
for .NET 10" (concise + keyword-rich)
- `homepage`: stay pointed at the Pages URL
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Require Astro base for /Zeta/ Pages deployment

This row fixes the homepage URL to https://lucent-financial-group.github.io/Zeta/ (a project-site path), but the criteria never require configuring Astro’s base for that subpath after choosing Astro as the SSG. Astro’s GitHub Pages deployment guidance calls base “usually required” for <user>.github.io/<repo> sites; without it, internal links/assets are generated from / and commonly break on deploy. Add an explicit base: '/Zeta' (or equivalent) requirement so the rollout doesn’t ship a superficially successful but navigationally broken site.

Useful? React with 👍 / 👎.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants