forked from EduCraft/curriculum-project-hub
chore: restore checker CI gate
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Restore the checker formatting gate
|
||||
|
||||
Type: task
|
||||
Status: open
|
||||
Status: resolved
|
||||
|
||||
## Question
|
||||
|
||||
@@ -9,3 +9,32 @@ Apply the repository's configured rustfmt output to the currently reported
|
||||
Rust files, verify that no semantic changes are introduced, and restore
|
||||
`cargo fmt --all --check` so the checker CI gate is green.
|
||||
|
||||
## Answer
|
||||
|
||||
The exact CI command failed deterministically on seven Rust files and an
|
||||
isolated single-file rustfmt check reproduced the same output. The source
|
||||
changes were formatting-only, but the underlying gate was not reproducible:
|
||||
the repository had no `rust-toolchain.toml` and checker CI installed floating
|
||||
`stable`, so local rustfmt, clippy and CI could change independently.
|
||||
|
||||
The checker toolchain is now pinned to Rust 1.92.0 with `rustfmt` and `clippy`
|
||||
in both `rust-toolchain.toml` and the Gitea workflow. The seven files were
|
||||
formatted with that toolchain. Running the complete CI path then surfaced three
|
||||
test helpers accepting `&PathBuf` instead of `&Path` and a Clippy name collision
|
||||
between `Shell` and `PowerShell`; those were corrected without changing CLI
|
||||
values or behavior.
|
||||
|
||||
Verification:
|
||||
|
||||
```text
|
||||
cargo fmt --all --check PASS (twice)
|
||||
cargo clippy --all-targets --all-features -- -D warnings
|
||||
PASS
|
||||
cargo test --all-features --workspace PASS (53 tests)
|
||||
cph completions zsh / power-shell PASS
|
||||
```
|
||||
|
||||
The final Rust diff consists of rustfmt layout plus four borrowed-Path
|
||||
signature generalizations and the internal `Shell` → `CompletionTarget` type
|
||||
rename. No expression, string value, command behavior, or public Rust API was
|
||||
changed.
|
||||
|
||||
@@ -26,9 +26,9 @@ rollback and recovery, and no known critical security or data-integrity gaps.
|
||||
unrelated Organizations is not an acceptable destination state.
|
||||
- Use the `diagnosing-bugs` loop for every reproduced defect. Prefer explicit
|
||||
failures and observable critical paths over fallback behavior.
|
||||
- Work on `saas-production-readiness`; make small conventional commits after
|
||||
verified, independently reversible milestones. Do not push without explicit
|
||||
authorization.
|
||||
- Work directly on `main` per developer authorization; make small conventional
|
||||
commits after verified, independently reversible milestones. Do not push
|
||||
without explicit authorization.
|
||||
- Local `lake build` currently requires a configured elan toolchain; CI remains
|
||||
the authoritative configured Lean build environment until that local toolchain
|
||||
is available.
|
||||
@@ -43,6 +43,7 @@ rollback and recovery, and no known critical security or data-integrity gaps.
|
||||
- [Audit backup, migration, and disaster recovery safety](issues/06-audit-backup-migration-recovery.md) — separate persistent state from releases, define a database/workspace checkpoint and recovery objectives, make migrations compatibility-gated, and prove complete off-host backup sets through isolated restore and cutover drills.
|
||||
- [Audit the accepted product surface for production completeness](issues/07-audit-product-surface-completeness.md) — retain the guarded Organization APIs and single-app Feishu vertical slice, but require explicit Organization-scoped Feishu/provider connections and external-identity namespaces, private platform and Organization admin control planes, and the full ADR-0022 capacity surface before release.
|
||||
- [Decide the platform-administrator identity and audit boundary](issues/42-decide-platform-admin-identity-audit.md) — use a dedicated platform Feishu issuer, one peer administrator role, guarded bootstrap and identity-bound invitations, revocable server-side sessions, atomic append-only Platform Audit, and dual-factor offline recovery without a standing break-glass account.
|
||||
- [Restore the checker formatting gate](issues/09-restore-checker-format-gate.md) — pin local and CI Rust/rustfmt/clippy to 1.92.0, apply the canonical workspace format, and keep the full fmt + clippy + 53-test checker gate green.
|
||||
|
||||
## Fog
|
||||
|
||||
|
||||
Reference in New Issue
Block a user