handbook: LLM-index discoverability (#90) + Quality Gate / AI Usage / Planning restructure (epic #92) - #91
Conversation
The plugin already injects a display:none hint, but WebFetch-style tools summarize a page and drop hidden DOM, so a neutral fetch misses it (which is exactly why an LLM reading the site never learns /llms.txt exists). Move the hint into visible, server-rendered HTML, plus redundancy: - index.md: a visible (non-JS, SSG-baked) footer line pointing to /llms.txt and /llms-full.txt -- the load-bearing signal a WebFetch will surface. - config.mts: link rel=alternate type=text/plain to both files for agents that parse the head. - public/robots.txt: a visible "# LLM index: /llms.txt" line. Not done: the matching HTTP Link response header (rel=alternate to /llms.txt). GitHub Pages is a static host and cannot set custom headers. Add it if the site moves to a host that can (Cloudflare Pages / Netlify). Acceptance gate (run after deploy): a neutral-prompt WebFetch of the landing page returns the /llms.txt line. Verified locally that the line is baked into dist/index.html as visible text. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Checked this diff against the fix list in #90 — no gap found. All four layers are implemented:
Two notes, neither blocking:
Nothing for me to ticket here — the implementation matches the spec. Ready for review/merge, then verify. 🤖 auto-posted by sn0wm1ku/ghDuty · co-authored by Claude (claude-opus-4-8) |
…esign Guidelines, Ethical Design Policy Restructure the handbook around OSBR's own spine — a 3-lens quality gate (Reliability / Security / Sustainability) as the definition of done, the AI-native operating model, and the pre-work planning phase — while keeping the existing policies as the standards the gate references rather than restates. - doc/quality-gate.md (new): the three checks every change clears before Done; each lens carries code-level standards and references the Infrastructure Planning / Security policies and NFR for posture. - doc/ai-usage-guideline.md (new): one engineer owning the whole with AI beside them — data boundaries, provider resilience, day/night rhythm, voice, policies-as-plugins, building for AI users. - doc/design-guidelines.md (new): OSBR's UX/interaction standards (accessibility floor, self-explanatory UI, every state designed, modeless and reachable) — the counterpart to the code Style Guide. - doc/ethical-design-policy.md (new): no deceptive/dark patterns; honest, symmetric, freely-given consent. - development-guide.md: 1-10 Quality Gate and 1-11 AI Usage Guideline as short pointers to the new pages; add 2-2 "Repositories Are Not a Support Channel" and 2-4 "Planning & Shaping". - sheq-policy.md: add policy-conformance auditing under Quality Assurance. - config.mts: wire the four new pages into the sidebar. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a light value framing where the new pages talk about standards, using the full value names: - quality-gate: the three-check bar as Be Nice (care) / Be Kind (ownable) / Be Strong (find our own gaps). - sheq-policy: policy-conformance auditing framed by the three values. - ethical-design-policy: honest design as Be Nice made concrete. - design-guidelines: getting the experience right as Be Nice in the interface. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address over-consolidation: the hubs added earlier (Quality Gate, AI Usage Guideline, Planning & Shaping, Design Guidelines) summarised ~50 source drafts into thin sections. Restore workaholic-level depth by publishing each topic as its own full standard page, with the hubs kept as concise overviews that reference them. New pages (31): - Engineering Standards (Quality Gate references): testing-standards, observability-resilience, incident-management, code-review, ci-cd-pipeline, application-security, access-control, data-protection, supply-chain-risk, architecture-standards, repository-documentation-standards, api-design. - AI operating model (AI Usage Guideline references): ai-data-handling, multiple-ai-agents, overnight-ai, weekly-ai-quota, voice-input, policies-as-plugins, building-for-ai-users. - Planning (Planning & Shaping references): market-research, requirements-modeling, verify-before-building, cost-estimation, it-investment-evaluation, legal-compliance, domain-terminology, capability-over-track-record. - Design (Design Guidelines references): accessibility, self-explanatory-ui, modeless-design, interaction-design. Each page is OSBR's own voice, RFC-2119 MUST/SHOULD, tied to Be Nice / Be Kind / Be Strong, standard industry terms, no competitor named. Wiring: - quality-gate: each lens now lists the standards it holds work to. - ai-usage-guideline / design-guidelines / development-guide (Planning & Shaping): concise overviews with in-depth links to the full pages. - config.mts: pages nested under Development Guide (Design Guidelines, Planning & Shaping, Quality Gate, AI Usage Guideline) in the sidebar. - verified: no dangling internal links across doc/. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- meeting-recording (new): record/transcribe only with prior all-party consent, scope-limited use, retention/deletion; nested under AI Usage Guideline. - privacy-policy (new): OSBR's organisation-level privacy notice (個人情報保護方針), distinct from the /data-protection engineering standard; added to Policies. Addresses #64. - NFR: reconcile WCAG version 2.1 → 2.2 AA to match the HTML/CSS guide and the new Accessibility standard, and link to it. - config.mts: sidebar entries for both new pages. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… standard Point §1 at the /code-review standard (always-on AI-automated review as the default gate, security one of its three concerns, human accountable in the loop) instead of mandating a human security reviewer — completing item A of epic #92. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A subagent left stray closing tags at the end of the file, which broke the VitePress (Vue) build with "Invalid end tag". Removed them; docs:build now passes cleanly (55 files, llms-full.txt generated). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The sidebar entry linked to the whole /development-guide page; point it at the #_2-4-planning-shaping section anchor so it lands on the Planning & Shaping section directly. Verified: docs:build passes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Integrity review of the sidebar vs. page content found two gaps: - Design Guidelines existed as a page and in the sidebar but was not mentioned in the Development Guide body; added §1-9 Design Guidelines (Database Guidelines, Quality Gate, AI Usage Guideline renumbered 1-10..1-12). - Security Policy was an orphan — linked from many pages but absent from the sidebar; added it to the Policies group. Verified: docs:build passes; no dead sidebar links, no orphan pages, no dangling internal links, Planning & Shaping anchor resolves. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The privacy and legal pages were merged from Japan-context source drafts, so they led with Japanese law (APPI, 特定商取引法) and omitted Malaysia. OSBR is registered in Malaysia (home jurisdiction), has a Japanese parent studio, and aims to follow international standards — so every jurisdiction reference is now ordered Malaysia -> Japan -> EU/US, adding Malaysia as the lead without removing the Japanese or GDPR content. - privacy-policy: rewritten on Malaysia's PDPA 2010 (Act 709) + 2024 amendment — the seven principles, the Personal Data Protection Commissioner, mandatory breach notification, DPO, data portability, cross-border transfer — with APPI and GDPR/OECD/ISO as the Japan and international layers. - legal-compliance: Malaysia leads (PDPA; Consumer Protection (Electronic Trade Transactions) Regulations 2024 + Electronic Commerce Act 2006 for seller disclosure), then Japan (APPI, 特定商取引法), then EU/US. - incident-management: breach notification leads with the PDPA Commissioner, then APPI/PPC, then GDPR Art. 33/34. - data-protection: PDPA added as the lead legal anchor throughout. - ai-data-handling, meeting-recording: jurisdiction wording reordered MY->JP->EU. Facts verified against pdp.gov.my and authoritative sources, not memory. Verified: docs:build passes; no dangling links, no orphan pages. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
An adversarial content review across the hubs, standards, and legal pages found requirement-level mismatches and board/wording contradictions: - quality-gate: the gate holds at Impl Review (before merge) — the previous "between Impl Review and Done" wording contradicted the board, where Shipping/release sits in between; same fix in development-guide §1-11. - quality-gate: masking personal data before a log or AI context is a MUST, matching incident-management's inviolable rule (was SHOULD). - testing-standards §3-7: critical paths MUST run against real dependencies (the Quality Gate's bar); boundary code more broadly stays SHOULD. - development-guide: Impl Review row now reflects the decided review stance — AI review is the default gate, a human interprets findings and owns the merge; Shipping/Done rows no longer disagree with the flowchart on when the issue closes; legacy typos fixed (piplines, short-descripted, belongs our); bookmark-bar rule aligned to the Security Policy's actual scope (project or client names). - ai-usage-guideline: add Meeting Recording to the in-depth list (it is nested there in the sidebar). Verified: docs:build passes; cross-link consistency and dangling-link checks clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The review mechanism was written as an "always-on" gate, which is not how it works: the AI agent lives on each member's own machine, carrying OSBR's review tooling — the /code-review plugin and, for security-sensitive surfaces, the asvs-audit plugin (osbrjp/DevTool) — and the review is performed when a change is declared Impl Review, before merge. - code-review: mechanism, trigger, and tooling stated; "always-on" framing replaced with run-at-Impl-Review throughout. - quality-gate, development-guide (Impl Review row), security-policy §1: definitional wording aligned. - 13 other pages: referential "the always-on review" rephrased to "the AI code review". Verified: docs:build passes; only remaining "always-on" is infra's always-on servers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Follow-up to my 2026-07-15 comment — 15 new commits since ( Epic #92 (restructure + 33 standard pages):
#90 (LLM-index discoverability): the four layers assessed in my previous comment are unchanged and intact. Remaining before closing the issues — same two items as before, still non-blocking for review:
One stale-wording nit: the PR body still says "see that issue's progress comment for the … still-open list", but the later #92 comment reports all items closed — worth a one-line body touch-up so reviewers don't hunt for a gap that no longer exists. Ready for the requested review. 🤖 auto-posted by sn0wm1ku/ghDuty · co-authored by Claude (claude-opus-4-8) |
|
Both non-blocking items from the ghDuty re-check are now addressed in the PR body:
#90's neutral-WebFetch acceptance check remains the one post-deploy step, noted in the Test Plan. 🤖 Posted by Claude Code |
sn0wm1ku
left a comment
There was a problem hiding this comment.
Reviewed across mechanical checks (no competitor mentions, no draft/XML leftovers, link + sidebar integrity, build passing) and an adversarial content pass (contradictions found were fixed in-branch: gate board position, requirement-level mismatches, review mechanism, jurisdiction grounding). ghDuty's re-check reports no gap; remaining item is #90's post-deploy verification, recorded in the Test Plan.
🤖 Approved via Claude Code on the author's instruction
Summary
This branch carries two changes:
1. LLM-index discoverability (closes #90)
Make
/llms.txtand/llms-full.txtdiscoverable to page-reading agents: avisible, server-rendered hint baked into the static HTML (not
display:none,not a hydrated component), plus a
<link rel="alternate">head hint and arobots.txtLLM-index line. A neutral WebFetch of a page reliably surfacesvisible text; a hidden hint does not.
2. Handbook restructure — epic #92, fully delivered (closes #92)
Reorganise the handbook around OSBR's own spine — a 3-lens Quality Gate
(Reliability / Security / Sustainability) as the definition of done, an
AI-native operating model, and a pre-work Planning phase — keeping the
existing policies as the standards the gate references rather than restates.
8 Planning, 4 Design, 1 Privacy Policy) with 4 concise hub pages; sidebar
fully wired. Every Epic: Close the gaps between the handbook and the engineering standard #92 checklist item is closed — see the Epic: Close the gaps between the handbook and the engineering standard #92 full-delivery
comment for the item-to-page mapping.
amendment), with Japan's APPI and the EU/US baseline layered on.
own agent (
/code-review,asvs-audit) when a change is declaredImpl Review— alongside CI, not part of it.hubs/standards/legal pages (gate board position, PII-masking and
real-dependency requirement levels, legacy dev-guide defects) were fixed in
this PR.
Test Plan
pnpm run docs:buildpasses locally (55 markdown files, llms-full.txtgenerated, zero errors).
links, no orphan pages, no dangling internal links, section anchors resolve.
docs:preview; new pages render and appear in the sidebar.neutral-prompt WebFetch of the deployed landing page returns the
/llms.txtline. Run once after merge + deploy, paste the output here, then close LLMs don't discover /llms.txt — page-reading agents miss the LLM index #90.
🤖 PR body updated by Claude Code