Updates the CI workflow to:
1. Add HTML coverage report output (plan §8 coverage policy)
- Previously only generated Lcov + Xml formats
- Now also outputs Html for browser-based viewing
2. Publish coverage reports as Argo artifacts
- coverage-html/ directory for interactive browsing
- cobertura.xml for CI tool integration
- lcov.info for diff tools
3. Add PR comment showing coverage delta
- Posts coverage percentage on PRs when revision != main
- Shows current coverage vs 90% target vs base (main)
- Includes link to full coverage artifact
4. Generate coverage summary file for PR comment consumption
The coverage gate (--fail-under 90) was already in place; this adds
the visibility (artifacts + PR comments) required by plan §8.
Closes: miroir-89x.1
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add example ArgoCD Application manifests and supporting files for
deploying Miroir via GitOps following plan §6 pattern.
Includes:
- Application template with placeholders for customization
- Production and development values.yaml examples
- Chart.yaml shim referencing upstream OCI chart
- ExternalSecret template for ESO integration
- Cluster-specific examples (ardenone-cluster, rs-manager)
- README with deployment instructions
Pattern: declarative-config repo holds per-instance values and Chart
shim; ArgoCD syncs from git path rather than inline values.
Closes: miroir-qjt.5
Changes:
- Dockerfile: Remove multi-stage build, now expects pre-built miroir-proxy-linux-amd64
- Dockerfile: Add inline comment documenting the plan §7 cargo-build template
- CI workflow: Change /workspace/dist → /workspace/artifacts to match plan §7
- CI workflow: Update create-github-release to reference /workspace/artifacts
This aligns with plan §7 and §12: scratch base, no libc, minimal attack surface.
The CI builds the static musl binary separately, then Dockerfile copies it.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
OP#1 (shard migration write safety): chaos-test scope documented; anti-entropy
as the mitigation is complete. Bead miroir-zc2.1 closed.
OP#2 (Raft vs Redis): full crate survey + prototype + benchmark. Decision:
Redis wins, revisit before v2.0. Bead miroir-zc2.2 closed; docs in
docs/research/raft-task-store.md.
OP#3 (resharding 2× load): benchmark confirms 2.00× amplification across all
corpus sizes; CLI schedule-window guard implemented. Bead miroir-zc2.3 closed;
docs in docs/benchmarks/resharding-load.md.
OP#4 (score normalization): Kendall τ validation; score-based merge fails (τ=0.79),
RRF fails (τ=0.14), DFS preflight passes (τ=0.98). Bead miroir-zc2.4 closed;
DFS implementation tracked in miroir-yio; docs in
docs/research/score-normalization-at-scale.md.
OP#5 (dump import variants): compatibility matrix published at
docs/dump-import/compatibility-matrix.md. Bead miroir-zc2.5 closed.
OP#6 (arm64): deferred to v1.x+. Implementation roadmap expanded in
docs/plan/plan.md (commit 7f03fe6). Bead miroir-zc2.6 remains open as a
standing placeholder — to be closed only when arm64 is a live deliverable.
Also: minor unused-variable warning fixes in task_registry.rs, redis.rs,
sqlite.rs; add k8s/openbao-policy.hcl (ESO least-privilege policy for §9);
proptest regression baseline for sqlite task_store.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Matches the manifest already in declarative-config (commit 3d72934).
OCI Helm chart at ghcr.io/jedarden/charts/miroir, automated sync
with prune + selfHeal + ServerSideApply.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Replace sprig regex template expressions with a shell script approach for
Kaniko destination tags, matching the pattern in miroir-ci.yaml. Pin Kaniko
image to v1.23.0-debug. Fix serviceAccountName from argo-runner to argo-workflow.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>