mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-24 04:32:32 +00:00
63ea2e3cee
The MCP server could answer telemetry questions ("why did this session fail")
but not product ones ("how do I deploy the agent", "where is my data stored").
Those answers already exist in the autopilotmonitor-docs bundle; search_docs
makes them semantically searchable.
Deliberately a separate index from search_knowledge: rules and prose answer
different questions, and sharing one topK would dilute both. Registered for
every role — published documentation carries no tenant data — and skipped
entirely when no corpus was baked in, so a doc-less build advertises no
broken tool.
Corpus handling:
- Chunked at h2/h3 and <details>/<summary>, each chunk prefixed with a
"Page > Section > Subsection" breadcrumb so a mid-page hit is self-describing.
- Newlines are normalized before any parsing. This is a correctness
precondition, not cosmetics: the bundle ships CRLF and JS `.` does not match
\r, so /^(#{2,3})\s+(.*)$/ matched zero headings — silently, degrading every
page to unlabelled paragraph splits.
- Two size exceptions: tables are never split (a split table leaves `| --- |`
rows with no header), and unbroken changelog lists split at line level (left
whole, their tails fall outside the model window and become unsearchable).
- Short sections are kept — a one-line answer is often the best hit, and the
breadcrumb supplies the context a short body lacks.
Build and delivery:
- Docs are embedded at image build time into an optional third
PrecomputedSection. Optional so a checkout without the docs repo does not
invalidate the rules and event-type vectors; the reverse (server has docs,
file does not) is staleness and is rejected.
- The deploy workflow checks the public docs repo into the build context and
passes its SHA as DOCS_COMMIT, which /health reports alongside the chunk
count — editing the docs does not update a running server, so staleness is
made checkable rather than memorable.
- Embeddings are rounded to 6 decimals on serialize: 55% smaller index (2.63
vs 5.88 MB) for a ~1e-5 norm error against a 1e-3 tolerance. indexPrecomputed
now asserts unit norm, since the hydrate path never checked it.
Infra: the Bicep template was two changes behind the live deployment (EU
cutover and ACR hardening, both applied directly in Azure). Reconciled against
the running resources — managed-identity image pull replaces the admin
credentials and the acr-password secret — and infra/ is no longer gitignored so
it stops drifting. Container raised to 0.5 vCPU / 1.0 GiB for the cold-start
query-embedder load. The template does not model the mcp.autopilotmonitor.com
custom domain, so a full deployment would remove it; the header warns about it.
Verified: 428 tests pass; 45 pages produce 324 chunks; sample queries hit the
right page top-1/2; all 8 derived URLs return 200 live; the precompute output
is accepted by the boot validator and a mutated corpus is rejected.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
151 lines
2.9 KiB
Plaintext
151 lines
2.9 KiB
Plaintext
# Build results
|
|
[Dd]ebug/
|
|
[Dd]ebugPublic/
|
|
[Rr]elease/
|
|
[Rr]eleases/
|
|
x64/
|
|
x86/
|
|
[Ww][Ii][Nn]32/
|
|
[Aa][Rr][Mm]/
|
|
[Aa][Rr][Mm]64/
|
|
bld/
|
|
[Bb]in/
|
|
[Oo]bj/
|
|
[Ll]og/
|
|
[Ll]ogs/
|
|
|
|
# Build counter files: the authoritative counter is the shared blob
|
|
# (agent container, buildcounter-v{N}.txt, ETag-CAS — see docs/agent/build-counter-blob.md).
|
|
# The local file is only an offline fallback for -SkipUpload/bare-dotnet smoke builds.
|
|
buildcounter.txt
|
|
|
|
# Visual Studio cache/options
|
|
.vs/
|
|
|
|
*.rsuser
|
|
*.suo
|
|
*.user
|
|
*.userosscache
|
|
*.sln.docstates
|
|
*.csproj.lscache
|
|
|
|
# Build Results
|
|
*.dll
|
|
*.exe
|
|
*.pdb
|
|
*.cache
|
|
|
|
# NuGet Packages
|
|
*.nupkg
|
|
*.snupkg
|
|
**/packages/*
|
|
!**/packages/build/
|
|
*.nuget.props
|
|
*.nuget.targets
|
|
|
|
# Azure Functions
|
|
local.settings.json
|
|
__blobstorage__
|
|
__queuestorage__
|
|
__azurite_db*__.json
|
|
|
|
# Node.js / Next.js
|
|
node_modules/
|
|
.next/
|
|
out/
|
|
build/
|
|
dist/
|
|
!rules/dist/
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.pnpm-debug.log*
|
|
.npm
|
|
.eslintcache
|
|
|
|
# TypeScript incremental build cache
|
|
*.tsbuildinfo
|
|
|
|
# Environment variables
|
|
.env
|
|
.env*.local
|
|
*.env
|
|
|
|
# IDE
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# Test results
|
|
[Tt]est[Rr]esult*/
|
|
[Bb]uild[Ll]og.*
|
|
*.trx
|
|
*.coverage
|
|
|
|
# Secrets and certificates
|
|
*.pfx
|
|
*.p12
|
|
*.key
|
|
*.crt
|
|
appsettings.*.json
|
|
!appsettings.json
|
|
!appsettings.Development.json
|
|
|
|
# Local development
|
|
.local/
|
|
*.local.*
|
|
temp/
|
|
tmp/
|
|
|
|
# Claude Code temporary files
|
|
tmpclaude-*-cwd
|
|
.claude/worktrees/
|
|
|
|
# Claude skills and scripts are now in a private submodule (.claude/commands/)
|
|
# No individual file ignores needed — the submodule handles everything
|
|
|
|
# Deployment scripts (local only — contain tokens + SAS URLs)
|
|
scripts/Deployment/
|
|
|
|
# Migration tooling (local only, vorerst) — cross-tenant storage/cert migration scripts
|
|
scripts/Migration/
|
|
|
|
# Infra: tracked. The Bicep templates carry no credentials — every secret is a
|
|
# @secure() parameter with an empty default, injected at deploy time, and image
|
|
# pull runs on managed identity. Keep it that way: never commit a resolved secret
|
|
# value or a *.parameters.json holding one.
|
|
infra/*.parameters.json
|
|
|
|
# M2 — local raw session fixtures before anonymization (plan §4 M2)
|
|
tests/fixtures/enrollment-sessions-local/
|
|
|
|
|
|
.dotnet-home/
|
|
.vscode/
|
|
TODO.txt
|
|
tools/orphan-analysis.py
|
|
tools/export-session-fixture.mjs
|
|
tasks/
|
|
|
|
# Azure Table cleanup backups (dry-run exports + delete manifests)
|
|
# Produced by /cleanup-table skill — never commit deletion payloads
|
|
db-backups/
|
|
plans/REFACTOR_AGENT_V2.md
|
|
.claude/scheduled_tasks.lock
|
|
.claude/plans/health-script-remediation-fix.md
|
|
|
|
# Operator-local Azure setup helper — applies lifecycle policy + container
|
|
# creation against a live storage account. Not portable across environments
|
|
# (storage account name, resource group are operator-specific) so it stays
|
|
# out of the repo. Each operator keeps their own copy.
|
|
scripts/Backup/setup-backup-container.ps1
|
|
docs/Introduction-AutopilotMonitor.pptx
|
|
docs/~$Introduction-AutopilotMonitor.pptx
|