This website requires JavaScript.
062574dad8
fix(mcp): close claim-envelope bypass on value-only brain_edit diffs
mathias and Claude Sonnet 5
2026-09-23 10:21:53 +02:00
a5f502eb9c
fix(api): UpdateNote reserves updated_at/supersedes/supersede_reason from the caller's fragment (#137 )
mathias
2026-09-23 08:18:30 +00:00
f7fe00cecf
fix(mcp): validate the claim envelope before brain_edit writes too
mathias and Claude Sonnet 5
2026-09-23 10:13:52 +02:00
7ed2a7d3b4
fix(api): frontmatter parser must not misparse indented list items as keys (#135 )
mathias
2026-09-23 08:12:06 +00:00
674858fe5e
fix(watcher): never walk into raw/rejected/ — brain_reject (closes #81 )
mathias and Claude Sonnet 5
2026-09-23 06:06:35 +00:00
9a37881441
feat(pipeline): feed the current source page into the extraction prompt (#106 ) (#132 )
mathias
2026-09-23 05:45:47 +00:00
f324f04944
fix: hyperguild brain write requires wing/hall, not legacy type/slug (#79 )
mathias
2026-09-23 05:43:28 +00:00
28d9f40733
fix(wiki): first-occurrence wins when heading normalization collides pre-existing duplicates
feat/106-page-aware-extraction
mathias and Claude Sonnet 5
2026-09-23 07:34:49 +02:00
3564498a1b
fix(wiki): normalise heading casing/whitespace before matching in Merge
mathias and Claude Sonnet 5
2026-09-23 07:28:11 +02:00
9fd9a0b920
feat(pipeline): feed the current source page into the extraction prompt
mathias and Claude Sonnet 5
2026-09-23 07:27:57 +02:00
cdafdf6e0f
fix(wiki): surface merge conflicts as textual-diff warnings (closes #104 )
mathias and Claude Sonnet 5
2026-09-23 05:22:27 +00:00
b340f86a45
feat(pipeline): skip extraction when the source has not changed (#105 ) (#126 )
mathias
2026-09-23 05:09:30 +00:00
43f43e4621
fix(wiki): parseFrontmatterBlock must not treat comments or indented lines as keys
fix/105-source-drift-on-main
mathias and Claude Sonnet 5
2026-09-23 07:07:21 +02:00
874206be9d
fix(wiki): rewrite refreshOwned on a parsed line list, not fence-index tracking
mathias and Claude Sonnet 5
2026-09-23 07:01:27 +02:00
41a9112860
fix(wiki): append generator-owned frontmatter fields a page never had, not just replace
mathias and Claude Sonnet 5
2026-09-23 06:56:41 +02:00
9345a0a867
feat(pipeline): report when a re-ingest disagrees with the page on disk (#104 )
fix/104-surface-merge-conflicts-on-main
mathias
2026-08-22 22:52:27 +02:00
a5a328fea5
feat(pipeline): skip extraction when the source has not changed (#105 )
mathias
2026-08-22 16:14:17 +02:00
f450a6c84f
feat(pipeline): ingest revises the existing page instead of clobbering it (#103 )
mathias
2026-09-22 21:43:04 +00:00
09aeaa91f5
fix(wiki): give the preamble its own field instead of overloading heading==""
agent/b1-compile-on-ingest
mathias and Claude Sonnet 5
2026-09-22 23:40:29 +02:00
9abe4369f2
fix(wiki): stop Merge from silently deleting on-disk content it can't parse
mathias and Claude Sonnet 5
2026-09-22 23:34:11 +02:00
5a5d938e8e
Brain-quality sweep, batch 1: brain_edit/brain_update correctness + close-session docs (#124 )
mathias
2026-09-22 21:27:11 +00:00
cc86a74dc5
fix(ci): stop the tag push from re-deploying, and make the infra bump idempotent
v0.18.3
mathias and Claude Opus 5
2026-09-17 07:09:14 +02:00
6e449b464c
fix(taskfile): remove build targets for binaries deleted months ago, and make check build (#121 )
mathias and Claude Opus 5
2026-09-16 22:36:49 +00:00
868fe28c96
fix(config): delete the model-routing chain — nothing has called it since April (#119 )
mathias
2026-09-16 22:24:47 +00:00
6e69698343
fix(brain): a one-word tunnel title must match the prose case-exactly
v0.18.2
mathias and Claude Opus 5
2026-09-17 00:08:40 +02:00
eb2acfeeb8
fix(brain): move the wikilink strip into WriteNote/UpdateNote
v0.18.1
mathias and Claude Opus 5
2026-09-16 23:59:44 +02:00
6e5a9cfce3
fix(brain): unwrap wikilinks that name no entry at the write boundary
v0.18.0
mathias and Claude Opus 5
2026-09-16 23:53:42 +02:00
25b79f057e
feat(claudewatcher): exclude whole project directories from ingestion
v0.17.0
mathias and Claude Opus 5
2026-09-15 08:09:58 +02:00
47bbac4b9f
revert(lint): back out the canonical .golangci.yml adoption — repo has a nested module
mathias
2026-09-05 14:47:39 +02:00
8a27ead91c
chore(lint): adopt the canonical .golangci.yml from infra/ci-templates
mathias
2026-09-05 14:42:59 +02:00
1a9be0cfb1
style: apply gofmt
mathias
2026-09-05 12:40:34 +02:00
dc2265da0b
fix(ci): skip context:sync's drift check under CI, matching dma-cli/gitea-mcp
v0.16.1
mathias
2026-09-05 11:36:45 +02:00
c176b71b3d
fix(context): AGENTS.md/system-prompt.txt committed in 4e8bdc1 were missing root content
mathias
2026-09-05 08:36:03 +02:00
4e8bdc137e
fix(context): sync to the estate canonical context-sync.sh (ADR-0019)
mathias
2026-09-05 08:30:04 +02:00
42235dcb6a
fix(scan): an allowlist was hiding a real Gitea PAT on a false justification
mathias
2026-08-31 07:24:07 +02:00
05330ad54a
feat(brain): add Gemini as brain_answer's third LLM tier
mathias and Claude Sonnet 5
2026-08-30 14:43:25 +02:00
692244d213
security: disposition the one historical gitleaks finding (infra#326)
mathias
2026-08-29 10:04:11 +02:00
d98a305985
security(hooks): add local pre-commit gitleaks scan (infra#326)
mathias
2026-08-28 23:58:05 +02:00
670325e519
ci(deploy): refuse to patch a manifest with an empty IMAGE_TAG (infra#311)
mathias and Claude Opus 5
2026-08-25 17:25:25 +02:00
2efb45bd85
feat(pipeline): report when a re-ingest disagrees with the page on disk (#104 )
agent/104-surface-merge-conflicts
mathias
2026-08-22 22:52:27 +02:00
ce365eee44
feat(pipeline): skip extraction when the source has not changed (#105 )
agent/105-source-drift
mathias
2026-08-22 16:14:17 +02:00
1ff6af4a40
feat(server): say at startup when alerting is unconfigured (#107 )
agent/107-loud-unconfigured-alerting
mathias
2026-08-22 16:10:38 +02:00
60a8801a1d
feat(pipeline): ingest revises the existing page instead of clobbering it
mathias
2026-08-22 13:19:14 +02:00
54237af7ad
feat(brain): validate the claim-property envelope on write (brain#21) (#102 )
v0.16.0
mathias
2026-08-22 08:58:34 +00:00
b6ceccca26
docs: name brain-mcp and say where its code lives (#94 ) (#99 )
v0.15.0
mathias
2026-08-22 06:10:06 +00:00
36a45068ab
feat(mcp): record and alert on a governance-file rewrite (#97 ) (#98 )
mathias
2026-08-22 06:09:53 +00:00
055af368cd
feat(mcp): brain_read + brain_edit, contained to the sync source (brain#4) (#96 )
v0.14.0
mathias
2026-08-18 18:14:05 +00:00
eb9e3e69a9
fix(capture): name what escalated the classification in an I1 refusal (#91 part 1) (#95 )
mathias
2026-08-18 18:13:48 +00:00
36b757fabf
feat(mcp): add brain_read + brain_edit, contained to the sync source (brain#4)
feat/brain-read-edit
mathias and Claude Opus 5
2026-08-18 17:01:37 +02:00
db00644cab
fix(capture): name what escalated the classification in an I1 refusal (#91 )
fix/capture-i1-refusal-names-target
mathias and Claude Opus 5
2026-08-18 15:38:12 +02:00
b7cf0efb9d
chore: opt in to headless dispatch (dispatch#3)
mathias
2026-08-18 06:05:18 +00:00
125c99bb46
fix(text): truncate on rune boundaries, not byte offsets (#93 )
mathias and Claude Opus 5
2026-08-18 07:13:15 +02:00
3e537bd582
feat(brain): surface an aging review queue in brain_context (#82 )
mathias and Claude Opus 5
2026-08-18 00:37:48 +02:00
4e6fc7aeee
chore(brain): de-surface brain_index from the model-facing toolset (#78 )
mathias and Claude Opus 5
2026-08-18 00:31:06 +02:00
9a232ad444
fix(ingestion): retry OIDC discovery instead of exiting on cold-boot 502 (#83 )
mathias and Claude Opus 5
2026-08-18 00:21:56 +02:00
3da0eca9b4
fix(ingestion): decide quoting with YAML itself, not a colon heuristic (#90 )
mathias and Claude Opus 5
2026-08-18 00:10:11 +02:00
7d1213451c
chore: re-sync context adapters
mathias and Claude Opus 5
2026-08-18 00:08:07 +02:00
7c9293f4ed
feat(ingestion): lint and repair unparseable note frontmatter (#90 )
mathias and Claude Opus 5
2026-08-18 00:07:27 +02:00
5b7def5a80
Add renovate.json
renovate/configure
renovate-bot
2026-08-15 05:28:45 +00:00
6e0155a2ab
feat(security): add gitleaks pre-commit scan, wire into task check (infra#39)
mathias and Claude Sonnet 5
2026-08-04 08:32:27 +02:00
1cea2c9f78
feat(capture): remove summary->ai-sessions write path
mathias and Claude Sonnet 5
2026-07-27 23:17:41 +02:00
9dcd60931a
chore: retrigger CI after gitea-runner RBAC fix (round 6 of the CI/CD outage chain)
v0.13.2
mathias and Claude Sonnet 5
2026-07-27 22:29:57 +02:00
1fac90ed2a
fix(cd): pass git.d-ma.be SSH override as -o flags, not an appended ~/.ssh/config line
mathias and Claude Sonnet 5
2026-07-27 22:16:00 +02:00
cb9c2513a4
fix(cd): use in-cluster DNS for git.d-ma.be SSH, not 127.0.0.1:30022
mathias and Claude Sonnet 5
2026-07-27 22:09:52 +02:00
3617a6c386
chore: retrigger CI after gitea-runner baked-v6 (ssh/skopeo/buildctl/kubectl)
mathias and Claude Sonnet 5
2026-07-27 22:03:07 +02:00
1938170131
chore: retrigger CI after gitea-runner gcc/libc6-dev fix (baked-v5)
mathias and Claude Sonnet 5
2026-07-27 21:55:20 +02:00
b34717e6b8
chore: retrigger CI after gitea-runner image fix (infra#task-baked-v4)
mathias and Claude Sonnet 5
2026-07-27 21:49:33 +02:00
d8d7e9a307
chore(context): re-sync derived adapters (Python fallback stack, error-handling note)
mathias and Claude Sonnet 5
2026-07-27 15:18:38 +02:00
f0055483a3
fix(watcher): never re-ingest AutoTunnel's own tunnel-candidates log (#88 )
v0.13.1
mathias and Claude Sonnet 5
2026-07-27 14:37:50 +02:00
6d014c1d0f
fix(ingest): CanonicalizeLinks strips wing:/wiki/ prefix and repairs path-style links (#87 )
mathias and Claude Sonnet 5
2026-07-27 14:32:31 +02:00
1001acfb44
fix(ingest): merge existing frontmatter in writeHallNote instead of stacking (#86 )
mathias and Claude Sonnet 5
2026-07-26 23:45:36 +02:00
6ad275b505
fix(ingest): thread source/author/published frontmatter through extraction (#85 )
mathias and Claude Sonnet 5
2026-07-26 23:42:33 +02:00
b600cc986c
chore(module): rename module github.com/mathiasbq/supervisor -> git.d-ma.be/mathias/hyperguild (#42 )
mathias and Claude Sonnet 5
2026-07-26 23:37:11 +02:00
9bdab1c48c
fix(ingest): parse docmark's SSE-framed response, not bare JSON
v0.13.0
mathias and Claude Opus 4.8
2026-07-09 08:53:24 +02:00
6520c2fc4b
feat(ingest): route DOCX/XLSX/PPTX/images through docmark (ADR-0013)
mathias and Claude Opus 4.8
2026-07-09 08:46:03 +02:00
fcbd1072b6
fix(lint): check fmt.Fprintf errors in webhook handler (infra#190)
v0.12.1
mathias and Claude Opus 4.8
2026-07-09 08:29:39 +02:00
3b7706b358
chore(context): re-sync derived adapters (skills-source paragraph)
mathias
2026-07-09 08:28:54 +02:00
394a227877
feat(webhook): trigger brain-sync on Gitea push instead of 15-min poll
v0.12.0
mathias
2026-07-07 22:00:56 +02:00
0f84ab5eda
fix(ingest): route raw claude-session dumps to non-indexed archive, not wiki
v0.11.2
mathias
2026-07-07 11:36:01 +02:00
5b57843346
fix(lint): revert redundant Write conversion (staticcheck S1016)
mathias
2026-07-04 14:13:16 +02:00
ee1204d76b
fix(api): default hall=facts source_type to internal (brain-gardener#7)
mathias
2026-07-04 14:09:20 +02:00
6d58336ce2
fix(claudewatcher): tag session-dump notes source_type: internal
mathias
2026-07-04 13:53:08 +02:00
0785f14220
Merge pull request 'Consolidate to single harness: icebox cmd/routing, keep cmd/hyperguild + ingestion (#75 )' (#76 ) from feat/consolidate-single-harness into main
mathias
2026-07-01 16:27:06 +00:00
a7db0dd00d
feat(mode): brain+gitea in all modes; drop iceboxed routing entry (#75 )
feat/consolidate-single-harness
mathias and Claude Opus 4.8
2026-07-01 13:27:31 +02:00
fb59c390e2
refactor(harness): icebox cmd/routing path — consolidate to single harness (#75 )
mathias and Claude Opus 4.8
2026-07-01 13:22:26 +02:00
00e5f62c8e
docs(runbook): correct flywheel (nil→local) + instrumentation-fixed note
icebox/cmd-routing-2026-07-01
icebox/cmd-routing
mathias and Claude Opus 4.8
2026-06-30 22:16:03 +02:00
b9d03316fd
fix(ingestion): migrate mcp-chassis import to git.d-ma.be path (#74 )
v0.11.1
mathias and Claude Opus 4.8
2026-06-30 21:39:41 +02:00
da9bdc4cbb
fix(routing): repair pass-rate instrumentation (3 bugs) — #73 , #35
mathias and Claude Opus 4.8
2026-06-30 08:36:18 +02:00
dcb9ff4a56
docs(runbook): how to exercise review/debug traffic for the pass-rate gate
mathias and Claude Opus 4.8
2026-06-29 23:41:07 +02:00
0454527b83
Merge pull request 'feat: brain_pending + brain_promote — close the raw→wiki curation loop (#38 )' (#70 ) from feat/brain-pending-promote into main
mathias
2026-06-26 14:49:27 +00:00
ef11864121
feat(mcp): brain_pending + brain_promote tools + REST routes (#38 )
feat/brain-pending-promote
mathias and Claude Opus 4.8
2026-06-26 16:34:15 +02:00
14b04a25cb
feat(brain): ListPending + PromoteNote — raw→wiki curation primitives (#38 )
mathias and Claude Opus 4.8
2026-06-26 16:34:15 +02:00
66a9b8e725
Merge pull request 'docs(close-session): refresh classification gate post-#67 (#62 )' (#69 ) from fix/close-session-classification-refresh into main
mathias
2026-06-26 14:28:48 +00:00
9f8fb9c138
docs(close-session): refresh classification gate post-#67 (#62 )
fix/close-session-classification-refresh
mathias and Claude Opus 4.8
2026-06-26 16:25:57 +02:00
d39a18dd69
Merge pull request 'fix: wire ai-sessions SummaryWriter into the capture relay (#66 )' (#68 ) from fix/capture-summarywriter into main
mathias
2026-06-23 15:22:42 +00:00
5288554338
fix(gitea): WriteFile creates via POST, updates via PUT (real contents API)
fix/capture-summarywriter
mathias and Claude Opus 4.8
2026-06-23 17:22:37 +02:00
2368564523
fix(capture): wire ai-sessions SummaryWriter into the relay (#66 )
mathias and Claude Opus 4.8
2026-06-23 10:47:00 +02:00
0e28b2125b
feat(gitea): WriteFile contents-API upsert — satisfies SummaryWriter (#66 )
mathias and Claude Opus 4.8
2026-06-23 10:47:00 +02:00
723dab51ae
feat(close-session): route closeout through the capture tool (#62 minimal)
mathias
2026-06-23 06:27:57 +00:00
06e21c019e
docs(capture): as-built implementation report for the #49 epic
mathias and Claude Opus 4.8
2026-06-23 07:41:24 +02:00