Repository navigation
Amythest 1.1.0
Amythest 1.1.0
Notes browsing grows up, the dataview engine reaches the terminal, amy learns to speak to external ticketing systems, and the server gains production-service hardening. Each tarball contains both binaries (amythest server, amy client); pure Go, no runtime dependencies.
amy — notes browser & dataview
- Browse layer:
tabin the notes view flips between search and a folder tree with recursive counts, Recent / Untagged / Tags virtual folders, modified/title sort, and filter prefixes (t:tag,f:folder, plain title text,g:→ server full-text search). - Preview pane: the selected note renders beside search results and the browse tree on wide terminals (debounced, cached);
ptoggles. - Reader upgrades:
bopens a navigable backlinks panel, tags show in the header, and```tasksquery blocks render as live results (the dashboard-note dataview experience) with inline errors. - Note editing:
eopens the note in$EDITORand saves through the newPUT /api/note— whole-file hash lock, frontmatter preserved, conflicts keep your edit in the temp file. - Bases view (
6): the vault's.basefiles as tables — groups,vcycles views, enter opens the row's note,eedits a frontmatter property in place. Backed by new JSON APIs (/api/bases,/api/basewith row-parallel note slugs,/api/notes).
amy — multiple sources
- New
internal/sourceseam: external ticketing systems merge into the Today view and get a dedicated browsing view (5), with per-source health on0. - Jira ships as the first provider — stub mode (
amy source init jira, demo fixtures) works before credentials exist; the HTTP client is a documented skeleton (env-onlyJIRA_EMAIL/JIRA_API_TOKEN). Issue actions: open in browser, manual comment, pull onto a board as a card carrying aSource: jira:KEYreference, send to a herdr agent. No state ever writes back. Azure DevOps is the sketched second provider.
Server & web
- Service hardening (all opt-in, defaults unchanged):
- Health probes:
/probes/liveness+/probes/readiness(named-check registry; 503 lists failing checks), configurable paths,/healthkept as alias. - Structured logging:
AMYTHEST_LOG_FORMAT=json|text, level/output/source knobs, per-request correlation IDs (X-Request-Id, configurable) echoed and attached to a context logger, one access-log line per request (probes at debug), documentedlogging.Wraphandler seam, secrets never logged. - Auth:
AMYTHEST_AUTH_MODE=off|static|jwtwithAMYTHEST_AUTH_PROTECT=mcp|ui|all. JWT mode validates bearer tokens against a JWKS: signature bykid,exp/nbfwith leeway,iss/audwhen configured, algorithm allowlist, key-rotation refresh, optional scope gate, probes always exempt, fail-fast startup on bad config.
- Health probes:
- Task recurrence editing API (
/api/tasks/recurrence) with full Obsidian notation incl.every N weeks on <day>and… when done; 🏁 parsed as a field boundary. - Explorer tree groups date-named notes (Daily Notes, journals) into collapsible month folders; mobile web gets a collapsible ☰ navigation drawer.
- Quick-add task API (
/api/tasks/add, daily note created on demand) powering amy's+.
Tooling
.mise.toml: pinned toolchain (go 1.27, node 26) andbuild/test/run/deploytasks —mise run deploybuilds natively and restarts the service.
Install
tar xzf amythest-1.1.0-<os>-<arch>.tar.gz
install -m 0755 amythest amy ~/bin/SHA-256 checksums in checksums.txt. Config reference for the new hardening settings is in the README.