Scrubbed extract of
My-Site/Chronicles/2026-09-24-ch5-trial-by-gate.md— cited by the Chronicle (05-trial-by-gate). Redactions: phone / service detail / secrets / clearance / personal / internal hosts.
type: chronicle project: My-Site window: 2026-07-01 .. 2026-07-31 (Chapter 5: Trial by Gate) created: 2026-09-24 tags:
- chronicle
- my-site
- dev-chronicle
My-Site Chronicle — Chapter 5: Trial by Gate
Headline
Peak siege: 2,477 commits in a single month. Compliance manifests, trust and confidence gates, and a nightly aggregator turn the platform from fast into accountable. Trial by fire becomes trial by gate.
Shipped
- [AIService] feat(observability): migrate SessionController to IObservabilityPipeline (US-4.5) —
26cba30 - [AIService] feat(observability): add UseCaseMetricsBridge adapter and wire AddObservability (US-4.4) —
4756b8a - [AIService] feat(dev): add launch profiles for the local demo spine —
57d939e - [AIService] feat(identity): make ADR-029 issuance opt-in via SessionCredentials:Enabled —
8f4d6a5 - [AIService] feat(chained-capability-registry): MCP capability registry with config fallback —
be34ed4 - [AIService] feat(identity): IP-AIS-IDENTITY-9 session-scoped token issuance (ADR-029) —
a04bf65 - [AIService] feat(capreg): MCP capability registry with composite fallback resolution —
07ad213 - [AIService] feat(telemetry): IP-AIS-8.1 implement AAT runtime telemetry emitter (gate_event, reasoning_step, agent_message) —
7932a75 - [AIService] feat(orchestration): IP-AIS-7.12 dispatch OUI spawn to background queue —
c69077f - [AIService] feat(orchestration): WI-3 synthetic-data _test seams (trust gate + session seed) (#92) —
31cbca3 - [AIService] feat(ci): deduplicated lanes — folded gates, publish-artifact image, retag-only releases (#88) —
81e0f1c - [AIService] feat(observability): add GET /version build-info endpoint —
207aae8 - [AIService] feat(planning): add Mongo persistence for Echo planning channel —
6cce14a - [AIService] feat(e8-20): fail closed on unbound WS connect + enforce resume ownership —
1e63806 - [AIService] feat(e8-20): bind WS /ws accountId to the authenticated principal —
b81b2cf - [AIService] feat(identity-6): authenticate session endpoints + rate limiting —
ddbde86 - [AIService] feat(e12-03): implement EndSession idempotency + session TTL reaper against contract —
5517f70 - [AIService] feat(planning): add planning channel ports, use case, and API surface —
1c0b482 - [AIService] feat(w11-07): add orchestration gap endpoints —
1a8a656 - [AIService] feat(w11-02): enforce ADR-015 tier-lock at the routed-provider boundary —
20fd019 - [AIService] feat(w10-09): backup-registry + impersonation-audit endpoints + legacy /ws auth (#64) —
b197898 - [AIService] feat(approval): relax trust-gate posture so delegation is reachable; close /ws bypass (US-PLAT-6.4 rework) —
da39fdd - [AIService] feat(approval): collaborator delegation for trust-gate resolution (US-PLAT-6.4) —
d40053d - [AIService] feat(approval): policy YAML schema + role templates (US-PLAT-6.2 + 6.3) —
08508da - [AIService] feat(approval): wire IGateDecisionEngine into MAF registration + live gate emission (US-PLAT-6.1 tail) —
b286077 - [AIService] feat(approval): US-PLAT-6.1 risk assessment engine + gate pipeline (ADR-012 §3/§5) (#59) —
1ee3d3c - [AIService] feat(ws): accept Keycloak RS256 JWTs on /ws/orchestration (JWT-first, HMAC-fallback) (#58) —
fa4023c - [AIService] feat(llm): W7 telemetry follow-ups — token telemetry, extended-thinking, gateway allowlist, failover metadata (#57) —
843a084
Decisions
- [AIService] docs(w11-02): ADR-015 tier-lock security note —
1c85157 - [homelab-stacks] docs(ai-git-bot): record writer identity split + docs-CI autofix wiring (#132) —
5a8073b - [obsidian-sync] docs(IP-GITOPS-13): llm-proxy k3s retirement migration plan (ADR-033 option b) —
05e6a463 - [obsidian-sync] docs(ADR-033): record AIService as a third live k3s llm-proxy consumer —
09db789b - [obsidian-sync] docs(ADR-033): k3s llm-proxy is structurally frozen — options for operator decision —
31cc49e8 - [obsidian-sync] docs(ADR-031): generalize the version-fidelity tradeoff, add fleet survey —
1672d01a - [obsidian-sync] docs(IP-CICD-14): retry landed, build-runners migrated onto the composite —
6a65d90f - [obsidian-sync] docs(homelab): record observability retirement —
e1c05dc8 - [obsidian-sync] docs(observability): correct migrated document total —
c196f704 - [obsidian-sync] docs(aat): accept Langfuse ClickHouse migration ADRs —
ca28bfee - [obsidian-sync] docs(e12-08): doc-rot sweep items 2-4 — MCP Server stack, submodule claim, ADR rollup —
1f20d79c - [obsidian-sync] docs(homelab): reflect build-and-deploy.yml -> build-stacks.yml rename + deploy consolidation —
b0b0ecc9
Status Transitions
- None available
Problems & Resolutions
- [AIService] fix(tests): stop hardcoding API-key expiry as an absolute past-tense date —
705e6a8 - [AIService] fix(identity): finish MongoIdentityResolver SRP refactor per IP-AIS-IDENTITY-11 —
460e5e3 - [AIService] fix(Sessions): resolve captive HttpClient dependency in KeycloakSessionTokenSource —
ded4b7e - [AIService] fix(identity): guard session-claims number parsing and fix tier ceiling arg —
63b1b18 - [AIService] fix(approval): headless sessions deny gated tools with an explanation, not an exception —
8cf273a - [AIService] fix(approval): read MCP tool _meta from ProtocolTool.Meta, not the wrapper —
38a05c1 - [AIService] fix(dev): local-spine profile uses MAF Anthropic connector via local llm-proxy —
d67d179 - [AIService] fix(ci): drop status-function job-level ifs (Gitea 1.27.0 wedges those too) —
55a5277 - [AIService] fix(ci): drop needs.* from job-level if to unwedge Gitea 1.27.0 blocked jobs —
7d95ffe - [AIService] fix(identity): log the fail-closed issuance paths with the operator-actionable cause —
6c2fb1c
Signal Coverage
- Git: 1858 commits across 8 repo slots
- Transcripts: None available (not gathered this pass)
- Status transitions: 0