Skip to main content

Read the Extraction Report

Every run of the extraction pipeline writes a report, whether it passes or stops. This page explains where to find the report and how to read it. Open it first whenever a run fails.

Where to find it​

A local run writes the report to build/feature-extraction/<source-revision>/report/index.html. The file has no external dependencies, so you can open it straight from disk.

In CI, the Model delivery gates job uploads the report as an artifact named feature-model-reports-<commit>-<attempt>, even when the run fails. The job summary on the run page already shows the verdict and the curation counts. To get the full report, download the artifact:

gh run download <run-id> --pattern 'feature-model-reports-*'

GitHub keeps the artifact for 14 days. After that, reproduce the run locally with the same Artemis commit, as described in Run the Pipeline Locally.

The HTML report​

The top of the report shows the verdict, PASS or FAIL, with the Artemis commit and the manifest digest of the run. Below it, counters show the number of errors, warnings, info findings, undeclared candidates, and candidates in total. The rest of the page has five sections.

Findings lists every finding, grouped by code. Each group shows the meaning of the code once, then one row per subject with its message. Filter buttons narrow the list to errors, warnings, or info findings. Start with the errors: they are the reason a run failed.

Candidate decisions shows how the manifest decided about every candidate. A table counts the decisions by candidate kind. Below it, the report lists the undeclared candidates, the included features with the candidate they anchor, the excluded candidates grouped by reason, and the unmodeled anchors: candidates without an entry that need no decision. When a run fails because of missing decisions, the undeclared list is your to-do list.

Configuration derivation shows, per feature, every configuration key the pipeline found: where it came from, whether it became a deployment input or stayed a tunable, and whether it is a secret. Curation and Conformance explains the rules.

Release delta is reserved for a comparison with an earlier release. The pipeline has no baseline input yet, so this section always says that the comparison was skipped.

Raw artifacts names the JSON files behind the report.

The JSON files​

FileContent
report/extraction-report.jsonThe verdict (pass or fail), the curation counts, and every finding
model/manifest-conformance-report.jsonEvery curation decision and every gap, by candidate
model/config-derivation.jsonEvery configuration key per feature, with its origin and decision
workflow/guided-workflow-validation.jsonThe guided workflow findings with their own status
report/release-delta-report.jsonThe skipped release comparison

Use the JSON files when you want to process findings with a script; the delivery workflow, for example, reads the coverage gaps from guided-workflow-validation.json.

From a finding to a fix​

A new Artemis module. The report shows FAIL and one error, UNDECLARED_CANDIDATE, for the subject module:globalsearch. Its message says what to do:

Artemis presents this module as a feature, but no manifest entry decides about it; add a features entry keyed by the
module id or list it in notModeled.

The candidate decisions section lists module:globalsearch as undeclared. Decide whether the module belongs in the model, add a features or notModeled entry, and run the pipeline again. Curate a Feature describes the decision.

A feature without guided text. The report shows PASS with the warning GUIDED_WORKFLOW_FINDINGS. guided-workflow-validation.json contains a GUIDED_WORKFLOW_COVERAGE_GAP for the new feature: teachers cannot choose it in the guided workflow yet. The run still delivers, and the delivery pull request lists the gap. Update the Guided Workflow shows how to close it.

Search documentation