Commit Graph
21 Commits
Author SHA1 Message Date
Miguel Palhas bf9426fb1d Merge remote-tracking branch 'origin/main' into issue/5-axum-skeleton
ci / rust (pull_request) Successful in 1m27s
ci / web (pull_request) Successful in 5s
e2e / e2e (pull_request) Successful in 1m33s
# Conflicts:
#	Cargo.lock
2026-08-22 19:56:44 +01:00
Miguel PalhasandClaude Opus 5 2de7f88e42 feat(api): axum skeleton with health and OpenAPI
ci / rust (pull_request) Successful in 1m52s
ci / web (pull_request) Successful in 6s
e2e / e2e (pull_request) Successful in 1m17s
The document is collected from `#[utoipa::path]` annotations through
`utoipa_axum::routes!`, which refuses a handler that has none, so an
unannotated route fails the build rather than silently leaving the
TypeScript client short an endpoint.

Health probes the three upstreams DESIGN.md §9.5 calls "Broken", always
answering 200 so a degraded service can still explain itself.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 19:55:31 +01:00
naps62-yolo 03ca4a26e8 feat(meta): TMDB search and movie lookup (#49)
ci / rust (push) Successful in 1m26s
ci / web (push) Successful in 12s
e2e / e2e (push) Successful in 1m0s
2026-08-22 19:52:57 +01:00
naps62-yolo 3e57cf5bf8 Release name parser (#50)
ci / web (push) Successful in 19s
ci / rust (push) Successful in 56s
e2e / e2e (push) Successful in 1m21s
2026-08-22 19:49:05 +01:00
naps62-yolo 1529e9fdca Bootstrap configuration loading (#46)
ci / web (push) Successful in 14s
ci / rust (push) Successful in 39s
e2e / e2e (push) Successful in 1m15s
2026-08-22 19:44:50 +01:00
naps62-yolo 7b57c387fb feat(core): add movie domain types (#47)
ci / rust (push) Successful in 36s
e2e / e2e (push) Successful in 1m10s
ci / web (push) Successful in 6s
2026-08-22 19:40:48 +01:00
naps62-yolo 84777169d0 feat(db): SQLite schema and movie migrations (#48)
ci / web (push) Successful in 7s
ci / rust (push) Successful in 35s
e2e / e2e (push) Successful in 47s
2026-08-22 19:36:39 +01:00
Claude b42b70f062 docs: warn that aoe send races with launch
ci / web (push) Successful in 6s
ci / rust (push) Successful in 22s
e2e / e2e (push) Successful in 30s
2026-08-22 19:27:11 +01:00
ClaudeandClaude Opus 5 86f6ed44f8 ci: keep the e2e job honest on an empty crate
ci / web (push) Successful in 5s
ci / rust (push) Successful in 21s
e2e / e2e (push) Successful in 30s
nextest fails a zero-test run, which is the behaviour worth keeping — passing
--no-tests=pass would let a broken filter go green once real tests exist.
Placeholder test instead, same as arr-core.

The first e2e run proved the Transmission service container pulls and starts;
it failed only at the empty test run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 19:24:17 +01:00
ClaudeandClaude Opus 5 bbe53bac80 ci: per-push gate, e2e and audit workflows
ci / web (push) Successful in 6s
e2e / e2e (push) Failing after 40s
ci / rust (push) Successful in 1m5s
Gate runs fmt, clippy with warnings denied, cargo-machete, and nextest.
nextest comes from a prebuilt binary rather than `cargo install` to keep the
run short. Cache covers ~/.cargo and target/, keyed on Cargo.lock plus the
toolchain file. Nothing builds --release.

e2e is a separate workflow, main plus PRs touching the crates whose seams it
covers. cargo-deny is weekly, off the push path.

Closes #2

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 19:20:47 +01:00
ClaudeandClaude Opus 5 f4e63f1ac5 chore: cargo workspace skeleton
Eleven empty crates per DESIGN.md §11, versions and lints pinned once in the
root manifest, Justfile carrying the §12 gate, nix dev shell.

The frontend steps in `just ci` no-op until web/ exists. arr-core carries one
placeholder test because `cargo nextest` fails a zero-test run, and relaxing
that would let a broken filter go green later.

Closes #1

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 19:20:47 +01:00
Claude de3e77537f docs: add driver cadence and stuck-session handling 2026-08-22 19:11:48 +01:00
ClaudeandClaude Opus 5 1e590e56c0 docs: add driver prompt and merge policy
Relaxes the concurrency rule to per-crate edits, records that the PR daemon
spawns land and review-pr sessions automatically, and makes the driver the
only thing that merges — skipping a stalled reviewer rather than blocking.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 19:09:47 +01:00
Claude 5cf4eecdc3 docs: verify model ids and worktree launch 2026-08-22 18:57:38 +01:00
Claude 18fc1d1d44 docs: pair two models per difficulty tier 2026-08-22 18:52:35 +01:00
Claude dfd8440e10 docs: put fable 5 at the top tier 2026-08-22 18:51:34 +01:00
Claude c78e9ca09d docs: fix model tier ordering 2026-08-22 18:51:06 +01:00
Claude 6294763497 docs: restrict driver model set to four 2026-08-22 18:50:23 +01:00
ClaudeandClaude Opus 5 af33b38c1b docs: require impeccable skill for design and frontend
Adds the design-system issue, scaffolds .impeccable/live/config.json against
web/index.html, and records the aoe spawn commands for the codex GPT-5.6
models in the driver table.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 18:48:44 +01:00
Claude 3804e62eea chore: add issue seeding script 2026-08-22 18:22:48 +01:00
ClaudeandClaude Opus 5 966f36bf09 docs: design contract and driver conventions
Design for a single-service replacement of Radarr/Sonarr: domain model,
policy engine, sourcing via Prowlarr Torznab, import pipeline, reconcile
loop, crate layout, CI gate and build order.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 18:19:03 +01:00