]> quire.kejadlen.dev Git - quire.git/log
quire.git
3 days agoStub HTTP server in quire serve
Alpha Chen [Fri, 24 Apr 2026 17:28:39 +0000 (17:28 +0000)]
Stub HTTP server in quire serve

Prevents the Docker container from restarting in a loop by binding
an HTTP listener on port 3000 with /health and / endpoints.

Assisted-by: GLM-5.1 via pi
3 days agoFix typo in docker/login-action pinned SHA
Alpha Chen [Fri, 24 Apr 2026 15:29:24 +0000 (15:29 +0000)]
Fix typo in docker/login-action pinned SHA

The SHA for v4.1.0 had a transposed digit (7398 → 7399) which
caused GitHub Actions to fail resolving the action reference.

Assisted-by: GLM-5.1 via pi
3 days agoTrim AGENTS.md to just pre-commit rule only
Alpha Chen [Fri, 24 Apr 2026 15:18:21 +0000 (15:18 +0000)]
Trim AGENTS.md to just pre-commit rule only

Clippy and miette conventions are already enforced by tooling.
Use "just all" instead of "cargo test" since the justfile is
the canonical check runner.

Assisted-by: GLM-5.1 via pi
3 days agoAdd project AGENTS.md and remove unused miette import
Alpha Chen [Fri, 24 Apr 2026 14:35:34 +0000 (14:35 +0000)]
Add project AGENTS.md and remove unused miette import

Assisted-by: GLM-5.1 via pi
3 days agoSimplify Config to Default and use miette bail/ensure macros
Alpha Chen [Fri, 24 Apr 2026 13:38:10 +0000 (13:38 +0000)]
Simplify Config to Default and use miette bail/ensure macros

Config::load() with env var parsing was premature. Default impl is
enough for now. Switch exec.rs from if/return Err(miette!) to
ensure! and bail! for idiomatic miette usage.

Assisted-by: GLM-5.1 via pi
3 days agoExtract Config struct for shared app configuration
Alpha Chen [Fri, 24 Apr 2026 13:31:19 +0000 (06:31 -0700)]
Extract Config struct for shared app configuration

Multiple commands need the repos directory path. A Config struct
centralizes the default and lets QUIRE_REPOS_DIR override it.

Assisted-by: GLM-5.1 via pi
3 days agoSwitch from color-eyre to miette for error reporting
Alpha Chen [Fri, 24 Apr 2026 13:27:33 +0000 (06:27 -0700)]
Switch from color-eyre to miette for error reporting

Miette provides better diagnostic output and integrates with thiserror
via the Diagnostic derive. Library errors now derive both Error and
Diagnostic. Binary uses miette::Result with into_diagnostic() for
third-party errors.

Assisted-by: GLM-5.1 via pi
3 days agoImplement quire exec dispatch with git command allowlist
Alpha Chen [Fri, 24 Apr 2026 04:05:42 +0000 (04:05 +0000)]
Implement quire exec dispatch with git command allowlist

Parses SSH_ORIGINAL_COMMAND, validates git commands against an
allowlist (receive-pack, upload-pack, upload-archive), sanitizes
repo paths, and execs the git subprocess. Removes the separate
quire-dispatch shell script — the binary handles dispatch directly.
Updates host reference configs to use quire exec in ForceCommand.

Assisted-by: GLM-5.1 via pi
3 days agoComment out coverage and mutation testing in CI
Alpha Chen [Fri, 24 Apr 2026 04:00:24 +0000 (04:00 +0000)]
Comment out coverage and mutation testing in CI

Disabled during early exploratory work — not enough library code
to meaningfully measure yet.

Assisted-by: GLM-5.1 via pi
3 days agoReplace binary release with Docker image build and push
Alpha Chen [Fri, 24 Apr 2026 00:01:59 +0000 (00:01 +0000)]
Replace binary release with Docker image build and push

Multi-stage Dockerfile builds the Rust binary then copies it into a
slim runtime image with git and ca-certificates. CI workflow follows
the ketchup pattern: single ci.yml with test, zizmor, and build jobs.
Build pushes to GHCR on green main, tags with YYYYMMDD-<short-sha>,
and creates a GitHub release. Removes the old release workflow and
dotslash config.

Assisted-by: GLM-5.1 via pi
3 days agoAdd host-side reference configs for SSH dispatch
Alpha Chen [Thu, 23 Apr 2026 23:57:07 +0000 (23:57 +0000)]
Add host-side reference configs for SSH dispatch

sshd_config Match block, quire-dispatch script with repo path
validation and git-command allowlist, and a README covering setup
steps. These are reference configs versioned with the repo — the
dispatch script will be replaced by quire exec in step 2.

Assisted-by: GLM-5.1 via pi
3 days agoAdd Dockerfile for step 1 host-mediated dispatch
Alpha Chen [Thu, 23 Apr 2026 23:51:20 +0000 (16:51 -0700)]
Add Dockerfile for step 1 host-mediated dispatch

Minimal image: debian bookworm, git, quire user, bare test repo
at /var/quire/repos/foo.git. Entrypoint passes through to docker
exec invocations. No sshd, no quire binary yet.

Assisted-by: GLM-5.1 via pi
3 days agoAdd project README and design plan
Alpha Chen [Thu, 23 Apr 2026 21:14:45 +0000 (14:14 -0700)]
Add project README and design plan

Assisted-by: GLM-5.1 via pi
3 days agoScaffold Rust binary project with clap, CI, and tooling
Alpha Chen [Thu, 23 Apr 2026 21:14:45 +0000 (14:14 -0700)]
Scaffold Rust binary project with clap, CI, and tooling

Restructure from a minimal lib+main into a proper binary project
layout: library target with error types, separate binary target
under src/bin/quire/ with clap subcommands (serve, exec), CalVer
versioning via build.rs, integration tests, justfile, clippy config,
mutation testing config, and GitHub Actions CI/release workflows.

Assisted-by: GLM-5.1 via pi
3 days agoInitialize quire project with Cargo skeleton
Alpha Chen [Thu, 23 Apr 2026 16:16:47 +0000 (09:16 -0700)]
Initialize quire project with Cargo skeleton

Assisted-by: GLM-5.1 via pi