Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
Changelog
Features
2f8d7cb feat(agents): Stage 8 tool-use AgentBrain with bounded loop and safe Tool seam
5837e09 feat(app): wire Config into a ready router (catalog, selector, getMe boot, lifecycle) (ADR-0017 §0)
e400f61 feat(brain): orchestrator + WithModelID decorator + demo-brain (ADR-0014)
4e9afc1 feat(bus): event bus + additive router event hook (ADR-0023, Stage 14 Phase 1a)
65e0d6e feat(channel): add Channel interface, Manifest, and Registry
d5f574b feat(channel): add generic webhook adapter
4ae51ed feat(cmd): thin korvun main wiring config + app + signal lifecycle (ADR-0017 §0)
9b98a5e feat(config): JSON deployment descriptor parse + validate (ADR-0017 §1)
ac88478 feat(controlapi): Stage 13 read-only control API (ADR-0022)
d158918 feat(conversation): ConversationStore interface + in-memory impl + Brain injection (ADR-0018)
18debff feat(conversation): durable SQLite conversation store (Stage 9 ADR-B)
3ad59bf feat(envelope): add Keyboard, Callback, CallbackAck (Phase 2E.4)
02e666c feat(envelope): add PartType.Location (Phase 2E.3)
b5b711c feat(envelope): add PartType.Reaction and OperationKind.OpSetReaction (Phase 2E.7)
b16d59a feat(envelope): add base domain types
5af6a98 feat(envelope): add identity generation and builder
371a4d4 feat(envelope): add validation and JSON serialization
7be2f08 feat(envelope): introduce Operation, migrate CallbackAck (Phase 2E.6)
1c4eb2c feat(liveview): SSE live-view + embedded UI; wake the event bus (ADR-0024, Stage 14 Phase 1b)
3d6a815 feat(model): add cloud-shaped sentinels for Phase 4.2 (ADR-0010 commit A)
2862476 feat(model): types + Model interface + ValidateRequest (Phase 4.1 commit 1)
3892b5c feat(observability): add Metrics seam + Prometheus impl (ADR-0020 step 2)
0e80292 feat(observability): admin HTTP server with /metrics + /healthz (ADR-0020 step 3)
2937a43 feat(observability): standardize slog funnel fields (ADR-0020 step 1)
0d4e79f feat(observability): wire metrics to the existing funnels (ADR-0020 step 4)
9aabdb5 feat(packaging): hardened systemd unit + signature-verify docs (ADR-0026)
901a022 feat(policy): consensus reducer + demo-policy (ADR-0013)
6f56795 feat(policy): pre-dispatch privacy selector — per-Brain SelectModels (ADR-0015)
62f4c24 feat(policy): priority reducer + Decision/Policy types (ADR-0012)
a8075f9 feat(release): packaging + release pipeline (GoReleaser, --version) (ADR-0025, Stage 15)
6a4814b feat(release): sign checksums with keyless cosign + SLSA provenance (ADR-0026)
0d69683 feat(router): implement Phase 3.1 routing core
bc01d29 feat(router): implement Phase 3.2 concurrency and resilience
350d8c8 feat(router): inbound pump draining Channel.Receive into DispatchInbound (ADR-0017 §2)
5fae774 feat(telegram): Adapter struct, functional options, New validation (Phase 2E.8 sub-A)
c0b7f2f feat(telegram): Send dispatch over the botClient interface (Phase 2E.8 sub-B)
9413e4f feat(telegram): Start/Stop lifecycle, HTTP server, SetWebhook/DeleteWebhook (Phase 2E.8 sub-E)
b6730cc feat(telegram): add outbound keyboard markup and callback ack (Phase 2E.4)
33cefd1 feat(telegram): dispatchUpdate with conversion and bounded backpressure (Phase 2E.8 sub-C)
112a630 feat(telegram): edit/delete operations + inbound edited_message (Phase 2E.6)
3f3293a feat(telegram): hand-rolled webhook handler with constant-time secret check (Phase 2E.8 sub-D)
4554827 feat(telegram): implement Channel adapter for inbound and outbound
594f7de feat(telegram): map Location inbound/outbound to Envelope (Phase 2E.3)
3f76e50 feat(telegram): map inbound MessageReaction to Envelope (Phase 2E.7)
ad583e1 feat(telegram): map inbound callback_query to Envelope (Phase 2E.4)
581d0d5 feat(telegram): map inbound media to Envelope (Phase 2E.1)
a241bc5 feat(telegram): map outbound OpSetReaction to SetMessageReactionParams (Phase 2E.7)
57c2cf5 feat(telegram): map outbound media to Telegram Send*Params (Phase 2E.2)
027e981 feat(telegram): parse bot_command entities into Meta (Phase 2E.5)
be5a48d feat: merge Stage 1 — canonical Envelope
Bug fixes
afaf4f8 fix(agents): /review hardening — empty-reply fallback, fenced tool line, calc bounds
0714475 fix(conversation): atomic AppendTurns for contiguous turn groups (ADR-0018 review)
7078289 fix(conversation): persist final turn through graceful shutdown (ADR-B review)
51b86cb fix(observability): dropped-source registration returns error, never panics
e69502e fix(sqlite): build a valid file: DSN for Windows drive-letter paths
de6c45b fix(telegram): close the close(inbound) race with in-flight dispatchUpdate (Phase 2E.8 review fix)
Others
5640e1c Add Apache License 2.0 to the project
41f5ca1 Add copyright notice for 2026
f9c709e Initial commit
ab04ee3 Merge branch 'chore/repo-hygiene': professional repo presentation
5e9baff Merge branch 'feat/2e8-webhook-lifecycle' — close Stage 02-EXT
34d699d Merge branch 'feat/agents': Stage 8 tool-use agents (ADR-0021)
464f8c2 Merge branch 'feat/bus': event bus + router hook (ADR-0023, Stage 14 Phase 1a)
057ee73 Merge branch 'feat/conversation-store': conversation store (Stage 9 ADR-A)
cee4a20 Merge branch 'feat/observability': Stage 12 observability (ADR-0020)
7703ebc Merge branch 'feat/router-inbound-pump': router inbound pump (ADR-0017 §2)
65549cf Merge branch 'feat/sqlite-store': durable SQLite conversation store (Stage 9 ADR-B)
4f36447 Merge branch 'feat/sse-liveview': SSE live-view + UI, bus woken (ADR-0024, Stage 14 Phase 1b)
5c6d448 Merge branch 'fix/sqlite-dsn-windows-path': valid file: DSN for Windows drive-letter paths
904bf68 Merge feat/4.3-fanout: close Stage 4 (Models)
24769ba Revise README.md for Korvun project details
6192fba ci(release): add workflow_dispatch snapshot dry-run to exercise signing/OIDC (ADR-0026)
f3d9907 ci(release): attest provenance on real releases only (private-repo limitation)
cdebe0b ci(release): least-privilege token permissions (Scorecard Token-Permissions)
01f28bf ci: add CodeQL SAST analysis
c893638 ci: add CodeQL static analysis for Go (Scorecard SAST)
e979b83 ci: add Dependabot config for gomod and github-actions
c64e797 ci: add SBOM generation job (SPDX JSON)
cabe345 ci: add cross-compile job for {linux,windows,darwin}×{amd64,arm64}
15ac37b ci: disable Scorecard triggers until repo is public — Stage 16
2463bbe ci: enforce real coverage gate (≥85% core, ≥90% critical packages)
548909d ci: fix cross-platform CI failures (coverage guard, CRLF, CodeQL perms)
8a7becf ci: re-enable scorecard on public repo
f3d6763 docs(adr): add ADR-0001 for Telegram client dependency
d5cf121 docs(adr): add ADR-0003 — router design (correlation + backpressure)
d9f8c60 docs(adr): correct ADR-0008 polling design — Bot.GetUpdates is internal-only in v1.21.0
de859ae docs(bus): harden contract per concurrency /review (F1/F2/F3)
4d35541 docs(model/fanout): clarify concurrent-reuse and distinct-instance contracts (P2 + I9)
b234200 docs(readme): cite exact Go version (1.26.4) from go.mod
3fa8f23 docs(router): correct stale worker-exit comments
ad5a799 docs(stage-0): close Phase 0.3 with cross-compile, CodeQL, SBOM, Dependabot, coverage gate
7b273b4 docs(stage-04): close Stage 4 + first HANDOFF.md
2ae41ab docs(stage-2): close Phase 2.3 with Telegram adapter
423ab58 docs(stage-2): record post-merge state, path convention, 2E.8 debt
9ccdf2d docs(stage-3): close Phase 3.1 — routing core
75d485e docs(stage-3): close Phase 3.2 and Stage 3
39bf91d docs(stages): close Stage 02-EXT with STAGE-02-EXT.md
38cb38a feat(cmd/demo-fanout): live skeleton fanning Ollama + Groq in parallel
4d25e22 feat(cmd/demo-groq): live skeleton + scope coverage to internal/
5f0fd5b feat(cmd/demo-model): live-skeleton CLI for Phase 4.1 end-to-end check
3bca806 feat(model/fanout): Coordinator + Run + callOne with panic isolation and zero-value defense
f82f51f feat(model/fanout): sentinels (ErrNoModels, ErrNilModel) for mechanism-level validation
51da3a0 feat(model/groq): hand-rolled Groq cloud adapter (ADR-0010 commits B+C)
139f6ab feat(model/ollama): hand-rolled Ollama adapter against /api/chat (Phase 4.1 commit 2)
a8176b1 fix(model/fanout): capture Latency on panic path via always-run defer (I1)
e633874 fix(model/fanout): preserve sentinel grammar through panic recovery (P1)
9d4c4b6 merge: Stage 2 / Phase 2.1 — Channel interface, Manifest, Registry
c37e80b merge: Stage 2 / Phase 2.2 — generic webhook adapter
c30becc refactor(brain): coord as Coordinator interface (ADR-0017 §3)
e83fb59 refactor(telegram): move internal/channels/telegram to internal/channel/telegram
f6db579 test(conversation): assert pair identity in concurrent AppendTurns; fix stale Handle comment
ae8efb5 test(model/fanout): replace sleep+sample goroutine leak detection with poll-with-retry (I11)
2e1097c test(model/fanout): tighten invariants and remove dead state (I2 I3 I5 I7 I8)
1780a35 test(router): add red tests for Phase 3.1 routing core
9a1bfd4 test(router): add red tests for Phase 3.2 concurrency and resilience
ab23966 test(router): concurrent register-vs-shutdown + pin Add-under-lock invariant (review)
b5e94c2 test(sqlite): skip '?'-path test on Windows (illegal filename char)
3ec8a6c test(telegram): add red tests for Phase 2E.1 inbound media
2a16d03 test(telegram): add red tests for Phase 2E.2 outbound media
2efc249 test(telegram): add red tests for inbound and outbound adapter
You can’t perform that action at this time.