Pular para o conteúdo
EN · PT

Catálogo de Gates

Cada gate abaixo é gerado do catálogo no código. O anchors init semeia os que têm relação com as camadas e artefatos que o projeto declara; o anchors doctor lista o catálogo inteiro, e o anchors check --all aponta os gates que cobrem o que o projeto declara mas não estão declarados.

Gate Confronta O que mede
unit-complete spec The spec has code, feature and test that realise it
spec-has-code spec The spec carries a scenario code (identity)
spec-complete spec The spec has at least one state/rule, with no placeholder
feature-not-empty feature The feature is not an empty skeleton
spec-feature-match spec Every requirement declared in the spec has a scenario in the feature
feature-spec-match feature Every scenario of the feature matches a rule the spec declares
feature-test-match feature Every scenario of the feature is implemented in the linked test, by code and by description
test-feature-match test Every code the test proves matches a declared scenario
scenario-identity feature Each scenario code identifies one scenario: no code repeated and no body copied under another title
scenario-asserts feature The outcome step asserts an observable outcome
scenario-type-aligned feature A scenario’s nature tag agrees with the letter of its code
scenario-letter-declared feature Every scenario code’s letter is a rule letter — the project’s rule_types, or the canonical ones
code-reference-valid spec Every code the spec cites exists in the project
code-cataloged spec Every exported symbol has a rule in the spec or a written waiver
placeholder-filled spec feature No generator placeholder remains in a value position: header field, table cell, rule or title line
header-valid spec feature code test guide doc plan product flag The @anchors header carries the artifact’s identity
header-layer-declared spec feature code test The layer a header declares is one the Estrutura has
ref-resolves code feature test The ref: points at the sibling spec’s code:
examples-match feature Every row of an outline’s Examples is run by a test citing the scenario
Gate Confronta O que mede
presentation-exhaustive spec Every value of a prop or state the presentation reads has an appearance decided
presentation-conflict spec One prop and one condition do not lead to two appearances
presentation-copy-single-source spec The text a presentation shows is a message code, not copy repeated in the rule
presentation-observable spec What a presentation changes is an element a test can point at
identity-consistent spec The spec’s code is the only identity across its surfaces: testID prefixes and visual baselines
testid-consistent spec The spec’s testID inventory, the IDs the code exposes, and the tests that query them agree
testid-queried-exists test Every handle an end-to-end flow queries is exposed somewhere in the code
vr-baseline feature Every visual-regression scenario has its baseline image
vr-states-covered code Every state the visual unit’s spec registers has a visual-regression scenario in the feature, unless exempted with @no-vr: <reason>
vr-scenarios-tested code Every visual-regression scenario of the unit has a VR test and a baseline image
vr-scenarios-of-states code Every visual-regression scenario of the unit is of a state its spec registers
vr-tests-of-scenarios code Every VR test of the unit is of a visual-regression scenario its feature declares
validation-transitions code Every validation of a visual unit is the trigger of a state transition, or says @no-state: <reason>
error-message-declared code Every error of a visual unit names the message it shows, or says @no-message: <reason>
Gate Confronta O que mede
spec-doctrine-exists spec The doctrine the spec references with @realizes exists
plan-doctrine-exists plan The product doctrine the plan seeds exists
doctrine-realized product Every product rule is realised by some spec
doctrine-not-duplicated spec The spec references the doctrine instead of copying its text
spec-realizes-doctrine spec The spec’s rules declare the product doctrine they realise
flag-scenario-grammar flag Each scenario’s condition is written in the grammar
flag-scenarios-complete flag The flag declares the ABSENT case
flag-scenario-exists spec The scenario the spec cites with @gated-by exists
flag-scenario-governs flag Every flag scenario governs at least one rule
flag-covered flag Each flag scenario has at least one green test
Gate Confronta O que mede
mock-stamped test The double’s stamp matches the real snippet (recomputed, not just validated)
mock-typed test The test double derives from the real module (not a frozen copy of the contract)
mock-detect-covers-dialect test The project declares derived.mock_detect — the regex that recognises a test double in this ecosystem
Gate Confronta O que mede
failure-declared spec The handling that exists in the code answers some declared failure
failure-handled spec The declared failure has a path that handles it in the code
failure-logged spec The failure handling RECORDS the occurrence
region-pair-honored code test Every #region [CODE] closes, and closes with its own code
rule-types spec Every code letter is declared in the vocabulary, with no conflict
rule-implemented spec Every rule the spec catalogs is marked in its code target, unless waived on its line with @no-mark: <reason>
marker-parity —
obligation-honored spec The artifact fulfils the cross-cutting obligations it takes on
updated-at-atual spec feature code test The header’s updated_at is the day of the file’s last commit
guide-checklist guide The guide has the conformance-points section (CKn)
docs-fresh spec The compiled docs/*.md reflects the spec it came from
docs-covered spec Every spec reaches some documentation page
doc-required spec The contracted documents exist and mention the units that trigger them
doc-self-contained spec The spec carries the text it cites, instead of pointing at another file
Gate Confronta O que mede
layer-boundary code The layer does not reach what is not its own (boundaries:)
sibling-guard code Sibling functions handle the same parameter consistently
proof-crosses-boundary spec A rule asserting a relation with another unit has the code importing that unit
circular code There is no import cycle between modules
deadcode code There is no orphan export, symbol or file in the project
Gate Confronta O que mede
rule-fulfilled spec Each rule of this spec is marked in the code by a comment carrying its code (// ABCDX-B01: …)
no-test-proof-real spec This spec waives its own test with @no-test and points at a scenario code as the proof elsewhere
Gate Confronta O que mede
phase-exists spec The spec’s needs: points at a phase some plan catalogues
phase-ordered plan The plan’s phases do not depend on what comes after them
parent-valid spec plan code The declared parent: points at something that exists, with no cycle
plan-seeds-valid plan The plan only seeds specs in a layer that has specs
plan-source-declared plan The source the plan names has the adapter’s plan in needs:
plan-revised plan A plan revised by another tells whoever reads it
plan-change-justified plan spec The changed plan/spec records the revision that says why it changed
open-questions-resolved spec The spec has no open question — implementing is not guessing
progress-honest plan The plan’s progress file tells the truth about the disk
revision-orphans spec The revision names the sibling rules that speak of the same subject
Gate Confronta O que mede
tests-green test This file’s tests pass (from the ingested result)
test-has-assertion test Every test asserts something in its body — the project says what an assertion is
test-exercises-unit test A test reaches the unit it tests, and does not define a copy of it
test-ref-matches-unit test A test reaches the unit its ref: names — by import, a name it defines, or a declared invocation
evidence-fresh test The test’s last green run still holds: neither the test nor any file in its closure changed since it ran
line-coverage code Line coverage >= threshold (from the ingested lcov)
branch-coverage code The tests take the branches the lcov lists (BRDA), and none is likely dead
coverage-delta code Line coverage did not drop vs. the previous ingestion
mutation-score code The test PROVES the line: killed mutants >= threshold (from the ingested mutation report)
scenario-coverage spec Each scenario of the spec has a passing test (semantic coverage)
single-test-per-unit code A unit has one test file per test layer, or declares the split with a reason
test-level-codes —
test-traceable test The test cites the code of what it proves (visible to the relational gates)
Gate Confronta O que mede
no-secret-leaked code No secret (key, token, credential) enters the history
dependency-vulnerable code The project’s dependencies have no known vulnerability (OSV)
sbom-generated code The inventory of shipped components (SBOM) is generated and versionable
license-compatible code No dependency with strong copyleft or an incompatible licence
no-duplication code No code block appears copied in two places
spellcheck code test spec No spelling mistake in the text or the identifiers
Gate Confronta O que mede
rule-uses-declared spec Every rule says what it uses — the fields, codes and dependencies it reads
rule-uses-resolve spec What a rule says it uses exists in the spec — a declared field, a dependency row
rule-uses-implemented spec The fields a rule says it uses appear in the code the spec governs
contract-impact spec A field changed since the last commit names the rules that use it, and their tests
contract-status-declared spec The Output Contract statuses are the ones the handler returns — and only those
contract-tested code Every API unit has a contract scenario and a contract test that validates it against the project’s OpenAPI document
api-contracts-resolve code Every contract an API unit’s body and responses cite is a spec with a Domain, and no response leaves its contract unsaid
api-errors-declared code Every error response of an API unit carries its error code and message, under a status its Responses declare
error-codes-honored code Every error code an API unit’s spec declares is one its code emits
domain-declared spec The spec declares what it accepts and who guards the boundary
count-honored spec The number the spec asserts matches the code
pagination-honored code A function promising the whole set does not silently return the first page
route-declared spec A screen spec declares its route and names its neighbour screens
route-exists spec The route the spec declares is registered where the app registers its routes
dependency-honored spec The spec declares no dependency table — the code declares its dependencies by @dep:
trigger-declared —
value-anchored code Each declared value anchor matches the code below it, its spec rule’s value, and every other declaration of the same key
env-declared spec The environment variables a unit’s code reads are the ones its spec declares, and only those
Gate Confronta O que mede
cross-unit-citation spec The spec cites no rule of another unit — a shared rule lives in the product
dep-declared code test Every import of a governed file carries @dep: with the code of the file it uses, or @no-dep: <reason>
dep-honored code test Every @dep: flag names the code of the file its import resolves to
nav-annotated code Every navigation call — back and reset included — carries @navigates: naming the screen it leads to, or @no-nav: <reason>
nav-matches-spec spec A screen’s Out table and its code’s @navigates: flags name the same screens
nav-reachable spec Every screen is reachable from the app’s entry routes (navigation.entry)
nav-symmetric spec A screen’s Out leads to another exactly when that one’s In comes from it
used-by-declared code test Every symbol another file imports carries @used-by: with exactly the codes of who imports it