Skip to content
EN · PT

anchors ingest

Ingest test signals (JUnit/lcov) the project generated and bind them to the map.

Consumes the test runner's artifacts and writes the signals into the map:
anchors ingest --junit results.xml execution: which tests passed/failed
anchors ingest --lcov coverage.info line coverage per code file
anchors ingest --mutation mutation.json mutation: does the test PROVE the line, or only run it?
anchors ingest --mutation m.json --scope isolated the unit's test only
anchors ingest --mutation m.json --scope full with the dependents' tests
anchors ingest --junit r.xml --lcov c.info several in one pass
Anchors does NOT run the test — you run it (jest --coverage, go test -coverprofile,
pytest-cov…) and hand over the report. From the execution, Anchors also derives coverage per
SCENARIO: a scenario code (SPCRX-V01) is PROVEN if it appears in a case that passed.
Run 'anchors coverage' afterwards to see the spec requirements with no green test.
Terminal window
anchors ingest [flags]
Flag Default What it does
--junit JUnit XML file (execution result)
--layer test layer of this suite (unit|integration|e2e…); default unit — merges several
--lcov lcov .info file (line coverage)
--logs scan the logs declared in logs.paths and bind the failure occurrences to the specs that declare them
--map path to the map
--mutation mutation JSON report. The FORMAT belongs to the project: declare it in the mutation-score gate of anchors.yaml, key ‘format’ (default ‘mutation-testing-elements’ — Stryker/PIT/Infection/mutmut; ‘gremlins’ for Go)
--partial the report is a PARTIAL run (only some tests): scenarios it did not run keep their earlier proof. anchors test --changed sets it
--root . project root
--scope scope of the suite that ran the mutants: isolated (only the unit’s test) or full (with the dependents). Ingesting both allows reading the DIFFERENCE — how much the unit depends on third parties to prove itself
--suite name of this suite in the map (default: the JUnit path relative to the root). Proofs are kept per suite, so each workspace’s report only speaks for itself

Commands of the same family — what tells each apart:

Command What it does
anchors map Operate the dependency map (anchors.graph.yaml)
anchors ingest Ingest test signals (JUnit/lcov) the project generated and bind them to the map
anchors test Run the test suites declared in anchors.yaml and ingest the reports
anchors mutation Run the mutation suites declared in anchors.yaml and ingest the reports
anchors keep-evidence Declare that a change proves nothing new, keeping the files’ evidence fresh
anchors stamp Write the missing @contract stamps on test doubles (never rewrites an existing one)
anchors recode Rename an identity code and propagate it across the project
anchors renumber Renumber the revisions this branch added when the base already took their number
anchors generated-paths The paths of DERIVED files — whoever conflicts in them rebuilds
anchors merge-progress Progress merge driver: unites both sides, [x] beats [ ]