Repository navigation
feat(mvp2): catalog rules, domain resolve, validate pipeline - #71
Merged
Merged
Conversation
…line Load Rule sheets from catalog.rules, complete the executable operator AST (any/ne/in), resolve against domain provides/requires with canonical SHA-256 digests, and align validateDraft blocking with buildManifest.
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: dfb28d8c-1b53-4476-9830-203f1823fbe3) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
any/ne/in); rejectstarget_isand unknown ops withAM-RULE-009; normalizescount_gtonly.catalog.rulesvia the canonical pack; empty catalog rules invent nothing.provides/requireswith SHA-256 digests (FNV removed).validateDraftwith resolve/buildManifest blocking.implementation-baseline-mvp2.Test plan
cargo test --workspace --lockedcargo clippy --workspace --locked --all-targets -- -D warningspython3 tools/traceability_matrix.py/validate_traceability.pypnpm checkNote
Medium Risk
Changes validation and manifest-blocking behavior, resolution digest algorithm (breaking for any consumer of old FNV digests), and rule evaluation semantics tied to catalog
rulesreferences.Overview
Delivers MVP-2: catalog-driven rules, domain resolution, and validation aligned with manifest build.
Rules (
archmaker-rules) adds JSON parsing (parse.rs,canonical-rules.json) withload_rules_by_ids; expands the executable AST (ne,in,any); normalizes legacycount_gt; rejects unknown operators and deferredtarget_iswith AM-RULE-009. Hard-codedcanonical_rules()stays as a parity oracle; rule conditions now use fully qualified domain step/option IDs.Core loads
active_rulesonly fromcatalog.rules(empty/missing → no silent defaults). Fixtures gainprovidesandrulesID lists.Resolution (
archmaker-resolution) takes an explicitrulesslice, applies RULE-DM-001 from that set (with flexible step/option ID matching), and replaces FNV-1a with SHA-256 canonical digests (archmaker:resolution:v1), with a core paritydebug_assert.validateDraftnow runs the sameresolve_internalpath as resolve/buildManifest and blocks on conflicts as well as blocking diagnostics.Governance/docs: MVP-2 scope, backlog/issues, go-no-go toward
implementation-baseline-mvp2;.gitignoreadds.cargo-target/.Reviewed by Cursor Bugbot for commit 6c2a7a3. Configure here.