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 perSCENARIO: 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.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 |
The map and its signals — family
Section titled “The map and its signals — family”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 [ ] |