Bounded source
CANON
Matching passages or ABSENT. It never generates an answer.
No login · no cloud · this browser only
Bot contract
CANON — BOT CONTRACT ======================================== WHAT IT IS CANON is a bounded source for AI agents. It chunks owner-supplied text into addressed passages and will only return matching passages or ABSENT. It never generates an answer. WHAT IT IS NOT Not a chatbot. Not a summarizer. Not a search engine that invents. No embeddings. No confidence scores. No generated answers. No login. BOUNDARIES No login. No accounts. No cloud. No analytics beacons. No data leaves this browser. Packs live in localStorage on this origin. INGEST Paste text, optionally attach a .txt / .md file, or load a pack JSON. CANON chunks at paragraph boundaries into passages of about 500–900 characters and assigns stable IDs (C-0001, C-0002, …) from a hash of the normalized passage text. Same text keeps the same ID. QUERY Enter keywords. CANON returns the top matching passages as ID plus the exact quote, using case-insensitive keyword overlap only. If no token overlaps, CANON returns the single word: ABSENT ABSENT means: do not invent. Stop that claim. OWNER RULE The owner accepts only answers that cite passage IDs from this page. HOW AGENTS SHOULD OPERATE 1. Load or ingest the owner’s source. 2. For each claim you need, query CANON. 3. If hits, quote the IDs. 4. If ABSENT, say ABSENT and stop that claim. 5. Do not answer from memory when the pack missed. SHIPPED PACK Title: Sample ops bound Three passages about a staging-login bug are already loaded. Query immediately. Do not wait. A timid bot may query “staging login” for a hit, or “launch the nuclear protocol” for ABSENT.
Pack
3 passages · 2489 characters
Created 2026-09-21T00:00:00.000Z
Query
Result
No query yet. The sample pack is loaded.
Ingest
Accepts .txt, .md, or a CANON pack .json
Passages
C-3596
STAGING-LOGIN FAULT — SCOPE On 14 March the staging login form at staging-login.internal:8443 began returning HTTP 503 for every fresh session. The failure started immediately after auth-gateway 2.4.1 was rolled to the staging cluster. The public production login at login.example.com continued to issue sessions without error. Gateway access logs show cookie stg_sid is written, then dropped on the next hop because the cookie domain was set to .prod.internal instead of .staging.internal. Ticket OPS-4419 is the tracker. Do not file this as a customer-facing outage. Do not page the production on-call. Reproduction: open a private window, go to /staging/session/start, submit any valid staging fixture user. Expected: 200 and a stg_sid cookie scoped to .staging.internal. Actual: 503, no usable session.
C-2156
WORKAROUND AND ROLLBACK RULES Until auth-gateway 2.4.2 is tagged, staging auth must use the previous cookie writer. Set STAGING_COOKIE_DOMAIN=.staging.internal on the staging cluster only. Restart the staging auth-gateway pods one at a time. Confirm /staging/session/start returns 200 before calling the rollback complete. Do not copy this environment variable onto production hosts. Do not restart production auth-gateway as part of this ticket. QA sign-off requires three private-window logins in a row, each showing stg_sid with domain .staging.internal. If the 503 returns after the restart, leave the cluster on the prior image (auth-gateway 2.4.0) and re-open OPS-4419 with the new pod logs. This workaround is staging-only. It is not a change to production identity, production cookie policy, or production TLS.
C-3631
HARD BOUNDARY Never change production settings. The staging-login bug is isolated to the staging cluster and to cookie domain misconfiguration in auth-gateway 2.4.1. Production login, production cookie domain, production TLS certificates, and production feature flags are out of scope for OPS-4419. Operators who receive a request to "just flip the same domain on prod" must refuse. There is no production equivalent of STAGING_COOKIE_DOMAIN in this incident. If production login error rates rise, open a new ticket; do not reuse OPS-4419 and do not apply the staging workaround on production hosts. The owner of this pack will only accept actions that keep production settings untouched. Staging may be recycled. Production may not. Record every staging restart in the ops log with the image tag and the time. Do not record a production change against this ticket.
Query log
Empty.
Export
Hash URL pending.