Commit graph

25 commits

Author SHA1 Message Date
de309d4cad ANW-30 CI: cross-compile arm64 on the host runner
The arm64 (apple-silicon) target assumed a native macOS runner, which
does not exist on the forge. There is one self-hosted runner, ws-brn,
registered linux-amd64:host -- jobs run directly on the host as brn,
with no docker. So cross-rs cannot run (no container engine), and it
cannot target apple-darwin from Linux regardless.

Build arm64 by native cross-compilation instead: rustup target add
aarch64-unknown-linux-gnu plus the host's aarch64-linux-gnu-gcc linker.
Same arm64 binary, no docker. The asset is now aarch64-linux.

Also drop the host-incompatible setup steps surfaced by running it on
the real runner: hurl is already installed (the sudo dpkg step failed,
brn has no passwordless sudo) and the aarch64 linker is already present.
Split a single test gate (test + hurl) from the per-target build matrix.

Pass inputs.tag via env to the staging step (sie review note, ANW-30).
2026-06-24 00:37:07 +03:00
09b9b99791 ANW-30 CI: Forgejo build workflow -- on-demand build + release for amd64/arm64
Forgejo-side counterpart to the GitHub release.yml (ANW-29). Driven by
workflow_dispatch (UI or API) rather than a release-published event, so a
build can be triggered for a test. Builds the release binary natively per
target, runs the test suite first, and publishes the assets to a Forgejo
release via actions/forgejo-release.

Assumed runner labels linux-amd64 / macos-arm64 must match the forge's
act_runner registration; arm64 needs a native Apple Silicon runner. Flagged
to aav -- correct if the topology differs.
2026-06-23 23:25:21 +03:00
7284edc76a
ANW-28 docs: add agentic engeneering note the README
Signed-off-by: Alexey Aristov <aav@acm.org>
2026-06-14 22:17:47 +03:00
562f3b20a7 ANW-28 docs: README and LICENSE for the public mirror
Replace the placeholder README with the full public-facing README, and
switch licensing to BSD 3-Clause per aav's decision on ANW-28: add a single
LICENSE file, drop the dual LICENSE-MIT / LICENSE-APACHE, and update the
Cargo.toml license field to match. README/LICENSE content authored by kaa,
landed verbatim.

Assumed: dropping the old MIT/Apache files and updating Cargo.toml
license = BSD-3-Clause is the consistent completion of aav's BSD decision
(v0.0.0, nothing released relied on the old grant); flag if the dual
license was meant to stay.
2026-06-14 21:52:29 +03:00
3b3e550860 ANW-29 CI: GitHub Actions release workflow (build + test + upload)
On a published GitHub Release, for each target (amd64 Linux, arm macOS) run
the Rust test suite and the hurl HTTP contract tests, build the release
binary on a stable toolchain, and upload it as a target-named asset on the
triggering release. Trigger is release:published per ANW-29 -- aav creates
the release and tag in the UI; the workflow never creates them.
2026-06-14 21:35:50 +03:00
ed1759da59 ANW-27 CLI: anwesen merge -- one-shot local markdown-merge to stdout
Thin local front-end over ANW-26's merge engine (query::execute_merge):
walk the vault once (vault::scan, same as doctor), evaluate the --query
string, assemble the merged document, write it to stdout. No HTTP, no
watcher, no index. Byte-identical to the HTTP merge mode for the same
vault and query.
2026-06-14 21:24:19 +03:00
03cc12e640 ANW-26 HTTP /query markdown-merge mode
Accept: text/markdown on /query concatenates matched note bodies into one
markdown document, each fragment preceded by an HTML-comment source marker.
Adds __anw-order (frontmatter-key ordering, asc/desc, missing-key-last) and
__anw-kind (homogeneity guard, 400 on a mixed merge). Both evaluate over the
full matched set before __anw-limit truncates. Merge mode uses its own
body-cloning projection; the JSON path is unchanged (no body clone).
2026-06-14 18:35:20 +03:00
0c461be698 ANW-19 deployment: systemd unit and reverse-proxy example 2026-06-14 18:31:45 +03:00
44d6bb995e ANW-25 process_wrap axum middleware for request isolation 2026-05-14 19:33:41 +02:00
05013df061 ANW-24 http_server as a plain process with graceful shutdown 2026-05-14 19:28:51 +02:00
b4a33abd71 ANW-20 hurl HTTP contract-test harness 2026-05-14 19:11:00 +02:00
ec650e6c66 ANW-23 remove tantivy from v1; NoteStore is the only authoritative store 2026-05-14 18:58:39 +02:00
30c42131b7 ANW-9 doctor frontmatter type-drift detection 2026-05-14 18:47:44 +02:00
e7eea4b3aa ANW-18 doctor base checks + FrontmatterNotMapping variant 2026-05-14 18:29:49 +02:00
1e4d2a7b7c ANW-8 /health endpoint + ANW-15 local follow-ups 2026-05-14 16:31:13 +02:00
b045efd1f0 ANW-15 /query endpoint + restart-replay pin + UTC canonicalization 2026-05-14 16:17:26 +02:00
da2dfbbd6d ANW-14 GET /notes/<folder>/ directory listing 2026-05-14 16:03:45 +02:00
e1fe1dcb4e ANW-13 GET /notes/<path>: NoteStore + axum HttpServer wiring 2026-05-14 15:47:00 +02:00
095ea7fbf0 ANW-16 filesystem watcher: notify, debouncer, overflow recovery + batched commits 2026-05-14 15:34:17 +02:00
cd337202ee ANW-12 tantivy index: schema, upsert, rebuild on startup, scanner->writer wire 2026-05-14 15:06:41 +02:00
929e498f66 ANW-17 wire hydra supervisor tree with four permanent processes 2026-05-14 14:51:28 +02:00
49fc34f8d7 ANW-11 vault scanner: walk, parse frontmatter, compute ETag 2026-05-14 14:42:28 +02:00
36492c8058 ANW-10 address review: drop ANWESEN_LOG, validate --bind at parse 2026-05-14 14:35:44 +02:00
317667cce7 ANW-10 bootstrap anwesen crate and CLI skeleton 2026-05-14 14:28:11 +02:00
0c21e6c5ff init 2026-05-13 18:24:44 +02:00