Product objective
The site is intended to be a durable, low-maintenance public interface. It should make canonical information legible to people, search systems, language models, and future software agents without maintaining separate versions for each audience.
The engineering objectives are concrete:
- serve readable static HTML with minimal browser JavaScript;
- author canonical information once and derive alternate representations;
- make malformed content, broken links, missing artifacts, and invalid structured data fail before deployment;
- let AI agents make bounded changes under explicit repository rules;
- preserve a verifiable release and change history;
- keep the security, privacy, dependency, and operational surfaces small.
Uses
For a human, the site must support reading, evaluation, evidence inspection, and contact. For search systems, it must expose canonical pages, crawlable static markup, structured data, and an accurate sitemap. For language models and agents, it must provide plain-text representations, a capability inventory, clear routes, and explicit limits. For maintainers, it must make changes cheap, reviewable, reversible, and difficult to ship in a broken state.
Non-goals
The current site is not a browser application, a database-backed CMS, an analytics warehouse, or an authenticated transaction system. It does not add runtime services merely to resemble a more elaborate software product. New machinery is justified only by a capability or decision that cannot be served reliably by the static system.
Build and release flow
typed content + structured data + design tokens
│
▼
Astro static compilation
│
┌─────────┼─────────┐
▼ ▼ ▼
HTML machine feeds and
mirrors discovery
└─────────┼─────────┘
▼
type, artifact, link, schema,
CSP, and format guards
│
▼
GitHub change → Cloudflare preview
│
▼
reviewed production deploy
│
▼
scheduled live QC
The Git repository is canonical. Cloudflare Pages builds previews for proposed changes and production from the accepted branch. Rollback is a source-control revert followed by the same deterministic build and deployment path.
Security, privacy, and observability
The production source repository is private. Published pages and machine-readable artifacts are public by design. Secrets do not belong in Git; local environment files are ignored, and any future deployment credentials must live in the host or repository secret stores.
The deployed site has no application server or database. A strict hashed Content Security Policy, security headers, self-hosted fonts, and a build guard against inline style attributes reduce the browser attack surface. Preview URLs are marked for exclusion from indexing, but that is not authentication.
Client-side analytics are currently disabled. Cloudflare request-level information is sufficient for operational visibility, while Google Search Console can provide search discovery data without adding a browser tracker. A client analytics product should be introduced only after a measurement question justifies its runtime and privacy cost.
Measurement contract
The scoreboard below separates reproducible lab tests, external validators, live checks, and field data. A number without a source and measurement date is not treated as current. External tests can vary between runs; the recorded values are a dated observation, not a permanent claim.
Maintenance contract
This record changes when the architecture, deployment path, public interfaces,
security posture, privacy posture, or measurement system materially changes.
Metrics are rechecked after consequential performance work and periodically while
the architecture remains stable. updated records a change to the system;
verifiedAt records the last systematic verification of the described state.
The canonical URL is an always-current release record. Its date-based version identifies the state described on the page; it is advanced whenever that state materially changes. It is not presented as an immutable historical snapshot.
The short change record on this page is curated. Git retains the implementation history, and the public Done log retains the broader operating record.
Action boundary
The present implementation is the public read layer described by the Public Interface. It exposes no authenticated action runtime. Any future system that initiates, authorizes, executes, completes, or verifies exchanges will be documented and threat-modeled as a separate trust domain rather than quietly added to the static publishing surface.