v0.2.0
What's Changed
- ci: gate milestone/** integration branches; add ship-issue milestone mode by @msywulak in #4795
- feat(api): brain substrate schema — episode/fact/edge tables (#4767) by @msywulak in #4796
- feat(api): minimal per-fact ACL — visible_to grammar, audience membership, fail-closed push-down predicate (#4768) by @msywulak in #4798
- feat(api): register the fact class in the content-mode review gate — no-provenance/no-grant-no-promotion (#4769) by @msywulak in #4799
- feat(api): Slack chat-history brain source — fork the ingest core, reuse the ADR-0030 engine (#4770) by @msywulak in #4800
- feat(api): async extraction fiber + entry-point-agnostic reconcile stage (#4771) by @msywulak in #4802
- feat(api,web): fact review surface — admins review fully-formed candidates, promote via atomic publish (#4772) by @msywulak in #4803
- feat(api,mcp): searchBrain — fused trust-labeled FTS-first read; evolves and renames searchKnowledge (#4773) by @msywulak in #4804
- docs(adr): amend ADR-0028 — scope "descriptive-only" to the document class (#4774) by @msywulak in #4805
- test(brain): M1 thin-wedge loop proof — Slack history → episode → draft fact → review → published → trust-labeled searchBrain (#4775) by @msywulak in #4806
- docs(roadmap): bank the Brain M1 cut — all nine issues merged onto the milestone branch by @msywulak in #4807
- feat(api): audience-membership sync — resolve a private channel's
audience:grant to real people (#4801) by @msywulak in #4810 - feat(api): bound audience-membership staleness + honour Retry-After (#4808, #4809) by @msywulak in #4812
- feat(api): observe entirely-malformed brain grants — the deny+log gap a push-down predicate leaves open (#4797) by @msywulak in #4813
- docs(roadmap): bank the full Brain M1 post-cut residue — #4801, #4808, #4809, #4797 by @msywulak in #4811
- feat(www): launch-week blog — Mon (Jul 27) by @msywulak in #4789
- docs(changelog): v0.1.0 — Public Launch by @msywulak in #4794
- feat(www): launch-week blog — Tue (Jul 28) by @msywulak in #4790
- feat(www): launch-week blog — Wed (Jul 29) by @msywulak in #4791
- feat(www): launch-week blog — Thu (Jul 30) by @msywulak in #4792
- feat(www): launch-week blog — Fri (Jul 31) by @msywulak in #4793
- feat(brain): Brain M1 — the thin wedge slice, end to end on one source (milestone #91) by @msywulak in #4814
- docs(brain): scope the fixture-built ACL assertions, and stop reusing "two axes" by @msywulak in #4815
- chore(agents): rightsize agent context for Claude 5 models by @msywulak in #4817
- docs(branch-protection): restore fork-pr-gate as required, correct strict drift by @msywulak in #4819
- fix(www): remove unsupported security claims from /dpa + /privacy by @msywulak in #4821
- fix(startup): name the resolved sandbox backend in the boot pre-flight by @msywulak in #4830
- fix(chat): gate on workspace capability, not a process-level datasource env var by @msywulak in #4831
- feat(brain): widen a fact's grant at publish to cover its evidence (#4823) by @msywulak in #4832
- Brain: disclose publish scope, add a counts-only oversight view by @msywulak in #4833
- docs(brain): correct the Slack-history install path, add the M1 soak corpus by @msywulak in #4827
- fix(sandbox): an unusable sandbox must refuse, and must report that it refuses by @msywulak in #4835
- fix(www): lead /blog with the launch announcement, not Friday's post by @msywulak in #4839
- docs(roadmap): tidy — v0.1.0 shipped, Brain M1 on main, launch-week freeze by @msywulak in #4840
- chore(agents): rename the audit family to /audit-*, add /audit-readme by @msywulak in #4841
- docs(readme): lead with the three grounding surfaces, not text-to-SQL alone by @msywulak in #4843
- docs(release): document the hotfix lane for when main isn't prod + one fix by @msywulak in #4845
- ci: run CI + Deploy Validation on hotfix/** pushes by @msywulak in #4846
- refactor(saas-guards): derive the sandbox pin's fail-closed rule from planSandboxSelection by @msywulak in #4847
- fix(brain): narrow provenance attribution on a publish-widened fact by @msywulak in #4848
- fix(sandbox): treat fail-closed as an outage on /admin/sandbox, not a backend id by @msywulak in #4849
- fix(sandbox): report the sandbox that will build, not the one that was asked for by @msywulak in #4850
- chore(types): bump @useatlas/types to 0.6.0 by @msywulak in #4852
- docs(brain): mark the staging manifest done, pin the 0183 precondition by @msywulak in #4853
- fix(api): let a deployment declare it expects no datasource by @msywulak in #4855
- fix(test-runner): normalise --affected paths at the boundary, and see template-literal imports by @msywulak in #4856
- fix(ci): scope the migration advisory lock to its target schema by @msywulak in #4857
- docs(roadmap): bank the two CI-reliability fixes (#4851, #4844) by @msywulak in #4858
- docs(roadmap): bank the two security-claim closures (#4822, #4820) by @msywulak in #4861
- ci(security): add container-image vulnerability scanning (#4822) by @msywulak in #4859
- docs(security): write the incident-response runbook (#4820) by @msywulak in #4862
- fix(security): bump better-auth cluster to 1.6.25 — closes 3 of 4 advisories by @msywulak in #4863
- fix(security): close GHSA-j8v8-g9cx-5qf4 — bind SCIM provider ownership by @msywulak in #4864
- backport: v0.1.1 hotfix — auth advisories + SCIM ownership by @msywulak in #4865
- fix(www): hold Wed/Thu/Fri launch-week posts until their publish dates by @msywulak in #4867
- fix(web): stop passkey-tile re-auth tests racing the 1000ms default by @msywulak in #4868
- feat(web,api): live gateway catalog for the SaaS default model picker by @msywulak in #4870
- chore(create-atlas): repin @useatlas/types to ^0.7.0 by @msywulak in #4873
- refactor(api): drop token weighting, price the operator view from the live catalog by @msywulak in #4871
- docs(roadmap): mark #4869 shipped by @msywulak in #4874
- refactor(api): await the gateway catalog once per turn, retire the peek/warm pair (#4872) by @msywulak in #4875
- docs(roadmap): mark #4872 shipped — the gateway catalog is awaited once per turn by @msywulak in #4876
- docs(roadmap): tidy — point the IR-runbook line at the merged PR (#4862) by @msywulak in #4877
- fix(deps): bump next to 16.2.12, js-yaml to 5.2.2 — clear 12 npm advisories by @msywulak in #4879
- feat(www): publish Wednesday's launch-week post — the-live-security-pass by @msywulak in #4883
Full Changelog: v0.1.0...v0.2.0