This website requires JavaScript.
77f8bd4a60
Merge pull request 'fix: provider check follow-ups (#7 )' (#9 ) from feat/7-wrapper-followups into main
main
aep
2026-10-14 23:53:20 +03:00
4aad7e3255
Merge pull request 'fix: CRLF notes and configurable test vault path (#3 )' (#8 ) from feat/3-crlf-vault-path into main
aep
2026-10-14 23:53:04 +03:00
543af13c1f
fix(obsidian): provider check — precise error, no Notice after unload, keep unknown data.json keys, settings button (M-3, M-4, M-5, O-6, #7 )
Andrey Epifancev
2026-10-10 19:24:40 +04:00
b15ae972ca
build: test vault path from VOICE_NOTE_VAULT, warn when missing (M-3, #3 )
Andrey Epifancev
2026-10-10 19:23:01 +04:00
ba17005b30
fix(core): keep CRLF notes intact — frontmatter detection and line endings (T4.1, #3 )
Andrey Epifancev
2026-10-10 19:22:20 +04:00
9144427bba
docs(openspec): archive openai-transcriber, promote transcription-provider spec (#5 )
Andrey Epifancev
2026-10-10 18:47:07 +04:00
d2e7659ae8
Merge pull request 'feat: OpenAI-compatible transcriber provider (#5 )' (#6 ) from feat/5-openai-transcriber into main
aep
2026-10-10 17:43:22 +03:00
17a5156cc6
docs(openspec): decision #19 (R-4) — final statuses for task-review minors; fix #18 wording (#5 )
Andrey Epifancev
2026-10-10 18:10:07 +04:00
ab698d00f3
fix(core): redact() Content-Disposition cut index; errorText never throws; design.md accuracy
Andrey Epifancev
2026-09-28 01:24:58 +04:00
a948a80e7a
docs: record decision #18 (R-3) — final review fix scope
Andrey Epifancev
2026-09-28 01:20:17 +04:00
6f6df01cbd
docs: record decisions #16-17 for Task 3/6 deviations from plan's literal code
Andrey Epifancev
2026-09-28 01:11:03 +04:00
4f6f202eda
feat(obsidian): requestUrl adapter, settings tab, provider check command
Andrey Epifancev
2026-09-28 01:08:50 +04:00
129e7c0b40
feat(core): provider check helpers — pick latest audio, format notice
Andrey Epifancev
2026-09-28 01:01:29 +04:00
87826bc427
test: live AITUNNEL integration test, skipped without AITUNNEL_API_KEY
Andrey Epifancev
2026-09-28 00:54:20 +04:00
812ace7f3c
fix(core): guard the only redact() call in transcribe() so it truly cannot throw
Andrey Epifancev
2026-09-28 00:49:12 +04:00
b38e160073
fix(core): wrap redact() in transcribe()'s try/catch so it never throws
Andrey Epifancev
2026-09-28 00:46:02 +04:00
06d3528efd
feat(core): OpenAI-compatible transcriber with prechecks, timeout and abort
Andrey Epifancev
2026-09-28 00:31:01 +04:00
bfe44fa648
feat(core): provider settings, response classification, secret redaction
Andrey Epifancev
2026-09-28 00:18:33 +04:00
3f6debc18b
feat(core): HttpClient port and byte-exact multipart builder
Andrey Epifancev
2026-09-28 00:00:08 +04:00
4059b72178
docs: implementation plan for openai-transcriber; plan-level decisions 13-15 (#5 )
Andrey Epifancev
2026-09-27 23:52:39 +04:00
a7902222db
docs(openspec): trim model setting too (#5 )
Andrey Epifancev
2026-09-27 23:44:18 +04:00
75b9b5e471
docs(openspec): propose openai-transcriber (#5 )
Andrey Epifancev
2026-09-27 23:39:58 +04:00
114e5f35ca
Merge pull request 'fix: core typecheck without Node types; exact dependency versions (T1.1, O-2)' (#4 ) from feat/3-core-types-pin-deps into main
aep
2026-09-27 21:16:57 +03:00
aecab7627c
fix: typecheck src/core without Node types; pin exact dependency versions (T1.1, O-2)
Andrey Epifancev
2026-09-27 20:08:57 +04:00
9b4ea0a3c9
docs(openspec): archive core-recording-lifecycle, promote specs (#1 )
Andrey Epifancev
2026-09-27 19:26:25 +04:00
001ba8af80
Merge pull request 'feat: core recording lifecycle (#1 )' (#2 ) from feat/1-core-recording-lifecycle into main
aep
2026-09-27 18:24:24 +03:00
eb8e00b2a0
docs: set test vault path in project CLAUDE.md (M-3, partial)
Andrey Epifancev
2026-09-27 17:59:49 +04:00
d48b50a893
fix: stop ignoring tests/fixtures/*.webm golden fixtures (M-2, F-3)
Andrey Epifancev
2026-09-27 17:12:45 +04:00
972976b16a
fix(core): claimAll reclaims own work; isolate per-record queue errors
Andrey Epifancev
2026-09-27 17:12:31 +04:00
968140f7e1
docs(openspec): final-review rulings — claim-all scope, per-record errors, fixtures ignore, hardening
Andrey Epifancev
2026-09-27 17:05:56 +04:00
1b23554658
test(core): golden test-01 end-to-end capture → queue → note
Andrey Epifancev
2026-09-27 16:54:51 +04:00
88ef2bde24
feat(core): manual retry and claim-all commands
Andrey Epifancev
2026-09-27 16:47:08 +04:00
626d832bd1
fix(core): stop sending after QueueRunner.dispose()
Andrey Epifancev
2026-09-27 16:42:57 +04:00
d7ec88a91e
docs(openspec): ruling — queue stops sending after dispose()
Andrey Epifancev
2026-09-27 16:41:23 +04:00
97a560820f
feat(core): queue runner with retries, stale-sent recovery and re-entrancy guard
Andrey Epifancev
2026-09-27 16:38:46 +04:00
b126e4bf8b
feat(core): save captured audio and initial note; in-memory port fakes
Andrey Epifancev
2026-09-27 16:32:34 +04:00
0cd683d5df
feat(core): due, stale-sent and claimable selection
Andrey Epifancev
2026-09-27 16:29:28 +04:00
d579ffd4a1
feat(core): note body with status region and transcript insertion
Andrey Epifancev
2026-09-27 16:24:30 +04:00
83236c4118
feat(core): read, parse and patch voice-* frontmatter
Andrey Epifancev
2026-09-27 16:18:36 +04:00
a4163fa5fe
feat(core): voice record state machine with backoff
Andrey Epifancev
2026-09-27 16:12:31 +04:00
6b2466cf05
feat(core): record ids, file paths, time formatting
Andrey Epifancev
2026-09-27 16:01:00 +04:00
7cd3811ead
chore: scaffold build and vitest, add core ports and boundary guard
Andrey Epifancev
2026-09-27 15:52:20 +04:00
cbd76d5802
docs(openspec): SDD pre-flight rulings — implementer models, test helper duplication, decision logging
Andrey Epifancev
2026-09-27 15:47:55 +04:00
944a6594ec
docs: apply plan review — retry status wording, TZ note, stale-sent and rename decisions
Andrey Epifancev
2026-09-27 15:42:09 +04:00
cb9a691931
docs: implementation plan for core recording lifecycle; planning decisions
Andrey Epifancev
2026-09-27 15:14:25 +04:00
1cd72201e2
test: track test-01.m4a fixture so golden tests pass on a clean clone
Andrey Epifancev
2026-09-27 15:08:33 +04:00
75bac1eef9
docs(openspec): apply spec review — UTC id, 10m stale sent, no-speech wording, list() contract; decisions log
Andrey Epifancev
2026-09-27 14:59:31 +04:00
e00d7e182c
docs(openspec): core-recording-lifecycle proposal, specs, design
Andrey Epifancev
2026-09-27 14:44:26 +04:00
0098617d26
docs: route OpenSpec skills through superpowers
Andrey Epifancev
2026-09-27 14:07:26 +04:00
72c942f667
chore: bootstrap project skeleton, openspec, fixtures
Andrey Epifancev
2026-09-27 14:06:01 +04:00