Skip to main content

Engineering vocabulary

The 181 names the engineering protocols use, each declared once in protocols/vocabulary.yaml with its category, its marking and its meaning. The vocabulary holds names and what they mean; what a claim, a piece of evidence or an obligation is, and how one is decided, belongs to Canon.

  • core: not specific to Git, pull requests or code; usable by every engineering protocol.
  • software.change: only makes sense for Git, pull requests or code.
  • self.improvement: only makes sense in an agent runtime's self-improvement turn (self.improvement/1).
  • loop.improvement: only makes sense in a turn that improves the improvement loop itself (loop.improvement/1).

Artifact kinds​

Category artifact_kind.

TermMarkingMeaning
intentcorewhat the change or response is meant to achieve
system_specificationcorethe specified behaviour of the system concerned
plancorethe intended steps toward the intent
releasecorea versioned, deployable unit of the system
deploymentcorea release running in an environment
servicecorethe running service a case concerns
implementationsoftware.changea revision of the code that realizes the plan
experiment_designcorethe metrics, splits, seeds and success criterion an experiment is run under
dataset_snapshotcorethe frozen data an experiment's runs read
baselinecorethe reference model, method or revision a candidate is compared with
candidatecorethe model, method or revision under test
run_configurationcorethe settings and environment an experiment's runs used
resultscorethe metrics an experiment's runs produced
eval_designcorethe evaluation design an automated loop is tuned under, its splits, metrics and guards
findingself.improvementa finding against the agent runtime, filed with a machine-checkable predicate and the record that produced it
promotionself.improvementthe agent runtime's binary installed for runs, built from a named revision
loop_baselineloop.improvementthe promoted loop definition a loop metric was measured on
loop_candidateloop.improvementa changed loop definition meant to raise a loop metric
loop_findingloop.improvementa finding against the improvement loop, naming the metric, its target and the turns it was computed from

Evidence kinds​

Category evidence_kind.

TermMarkingMeaning
operational_observationcorean observation of the running system
objective_observationcorean observation of whether the intent's objective is met
impact_assessmentcorean assessment of who and what an incident affects
cause_analysiscorean analysis of why an incident happened
test_resultsoftware.changethe result of running tests against an implementation revision
code_reviewsoftware.changea review of an implementation revision
build_provenancesoftware.changethe record of how a release was built from an implementation
rollback_resultcorethe result of returning to a previous release, complete or partial
design_reviewcorea review of an experiment design, passed or failed
integrity_checkcorea check of the runs behind a set of results for integrity violations, clean or violated
reproductioncorea rerun on the same dataset snapshot and run configuration, matched or diverged
comparisoncorea comparison of a candidate with the baseline, candidate_better or baseline_better
seed_sweepcorea sweep of a candidate's effect over seeds or ablations, stable or unstable
regression_test_resultsoftware.changethe result of running a bugfix's regression test against an implementation revision
implementation_changesoftware.changethe record that the implementation was changed, moving it to a new revision
security_reviewsoftware.changea review of an implementation revision's effect on a security boundary
guard_checkcorea check of a candidate against the surface a loop may change and for leaked or forbidden content, outside, leaked or clean
tuning_comparisoncorea first and a second run of a candidate against the baseline on the tuning split, reproduced, not_reproduced or not_better
heldout_comparisoncorea run of a candidate against the baseline on the held-out split, held or regressed
change_recordsoftware.changewhether merging an implementation revision into the base branch's tip would change that tip's tree outside .engineering/
ci_resultsoftware.changethe result of continuous integration on an implementation revision
gate_resultsoftware.changethe result of the repository's gate against an implementation revision
handoversoftware.changethe record that the harness chose to hand the change over at an implementation revision, changing no file
merge_observationsoftware.changethe observation that a revision, or the pull request whose head it is, was merged into the repository's mainline
pull_requestsoftware.changea pull request whose head is an implementation revision, or that revision with only the commits that record its approval above it
finding_recordself.improvementthe finding as filed, with a predicate that parses and a source that exists, or malformed
promotion_recordself.improvementthe installed binary's embedded revision compared with the merged candidate revision
scenario_resultself.improvementthe finding's predicate run on its scenario, or on its repository at its seed, with the runtime built from a revision
scorecard_resultself.improvementevery scenario of the corpus run at a candidate revision and compared with the baseline's record for the same scenario
definition_checkloop.improvementa loop candidate's metric definitions compared with the baseline's; unchanged, dual_reported or redefined
loop_comparisonloop.improvementa loop metric over turns under the candidate compared with the same metric under the baseline
loop_measurementloop.improvementthe loop scorecard over at least three recorded self-improvement turns at a loop definition revision
tests_changesoftware.changethe record that a story's tests were written, moving the implementation to a new revision
paths_changedsoftware.changewhich paths an implementation revision changes since the base branch's tip, test paths, implementation paths, both or neither

Claims​

Category claim_id.

TermMarkingMeaning
release.provencorethe release comes from a verified implementation and carries current build provenance
deployment.healthycorethe deployment is running healthily
objective.realizedcorethe intent's objective is met
impact.boundedcorethe incident's impact is known and contained
service.healthycorethe service is running healthily
cause.identifiedcorethe incident's cause is known
tests.passsoftware.changethe tests pass for the current implementation revision
implementation.reviewedsoftware.changethe current implementation revision is reviewed
implementation.verifiedsoftware.changethe current implementation revision is verified
experiment.validcorethe experiment design passed review and the results carry no integrity violation
result.reproduciblecorea reproduction of the current results matched them
candidate.beats_baselinecorea comparison of the current candidate found it better than the baseline
effect.robustcorea sweep of the current candidate found its effect stable
hypothesis.supportedcorethe experiment is valid and reproducible, and the candidate beats the baseline robustly
regression.reproducedsoftware.changea failing test has reproduced the regression a bugfix repairs
regression.shown_firstsoftware.changea bugfix's regression test failed on its first run, before the implementation was first changed
security.reviewedsoftware.changethe current implementation revision's security review is approved by another principal than the implementer
rollback.verifiedcorethe release's rollback is complete, by a rollback result from another principal than the one who rolled it back
change.within_surfacecorean independent guard check did not find the current candidate outside the surface the loop may change
content.cleancorean independent guard check found the current candidate free of expected answers and new forbidden content
tuning.improvedcorean independent first run of the current candidate on the tuning split was better than the baseline
heldout.not_regressedcorean independent run of the current candidate on the held-out split did not regress against the baseline
change.supportedcoreevery keep claim holds for the current candidate revision
change.handed_oversoftware.changethe harness handed the change over at the current implementation revision, saying it is complete
change.madesoftware.changemerging the current implementation revision into the base branch's tip would change its tree outside .engineering/
ci.greensoftware.changecontinuous integration passes for the current implementation revision
gate.greensoftware.changethe repository's gate is green for the current implementation revision
pr.mergedsoftware.changethe pull request for the current implementation revision is merged
pr.openedsoftware.changea pull request is open for the current implementation revision
finding.citedself.improvementthe finding is filed with a predicate that parses and a source that exists
fix.mergedself.improvementthe current candidate revision is merged into the mainline
scenario.passes_afterself.improvementthe finding's predicate fails on the current candidate revision, observed by another agent run than the one that delivered it
scenario.reproduced_beforeself.improvementthe finding's predicate holds on the baseline revision
scorecard.no_regressionself.improvementno scenario of the corpus is worse at the current candidate revision than at the baseline
loop.change_mergedloop.improvementthe current loop candidate is merged into the mainline
loop.definition_honestloop.improvementthe current loop candidate leaves every metric definition unchanged, or reports the previous definition's figures beside the new ones
loop.metric_below_targetloop.improvementa loop metric is below its target on the baseline loop definition
loop.metric_improvedloop.improvementthe metric improved under the current loop candidate, observed by another agent run than the one that delivered it
tests.shown_redsoftware.changea story's tests were written, and they fail at the current implementation revision
change.completesoftware.changethe current implementation revision changes both test paths and implementation paths since the base, with its tests and gate green at that same revision

Actions​

Category action_id.

TermMarkingMeaning
metrics.inspectcoreread the system's metrics
logs.searchcoresearch the system's logs
release.inspectcoreread what a release contains
release.rollbackcorereturn to a previous release
traffic.shiftcoremove traffic between deployments
emergency.leavecoreleave emergency mode
repository.inspectsoftware.changeread the repository
repository.mergesoftware.changemerge a revision into the repository's mainline
tests.runsoftware.changerun the tests against an implementation revision
tests.writesoftware.changechange the tests in the repository's working revision
implementation.editsoftware.changechange the implementation in the repository's working revision
design.reviewcorereview the evaluation design, under authority
candidate.evaluatecorecheck and run the current candidate revision, producing its guard check and comparisons
change.keepcorekeep a candidate a loop produced, on every keep claim and authority to keep
change.rejectcorediscard a candidate once every keep claim is decided and one is false
change.proposecorehand a candidate that leaves the loop's surface to a person as a proposal, applying nothing
change.apply_outside_surfacecoreapply a candidate that leaves the loop's surface, under a capability never granted to a loop
change.handoversoftware.changehand the change over, changing no file, once it is complete and no further edit is needed
change.readsoftware.changeread whether merging the implementation revision into the base branch's tip would change its tree outside .engineering/
ci.readsoftware.changeread the continuous integration result for the pull request's head
gate.runsoftware.changerun the repository's gate against an implementation revision
pr.opensoftware.changepush the implementation revision and open its pull request through the run's forge
binary.promoteself.improvementbuild the merged candidate, embed its revision and install it for runs
candidate.mergeself.improvementmerge a candidate that touches no judge surface
candidate.merge_judge_surfaceself.improvementmerge a candidate that touches a judge surface, under the owner's capability or a revocable delegation of it
finding.fileself.improvementfile the finding in the planning store with its predicate and its source
scenario.reproduceself.improvementrun the finding's predicate with the runtime built from the baseline
scenario.verifyself.improvementrun the finding's predicate with the runtime built from the candidate
scorecard.compareself.improvementrun the scenario corpus at the merged candidate and compare it with the baseline
loop.compareloop.improvementcompare the metric with the baseline's once at least three turns ran under the merged candidate
loop.measureloop.improvementcompute the loop scorecard over the recorded self-improvement turns
loop.mergeloop.improvementmerge the loop candidate under the owner's capability or a revocable delegation of it

Obligations​

Category obligation_id.

TermMarkingMeaning
restore_servicecorebring the affected service back to health
investigate_causecoreestablish why the incident happened
tests.requiredsoftware.changethe tests must pass for the current implementation revision
review.requiredsoftware.changethe current implementation revision must be reviewed
provenance.requiredsoftware.changethe release must be proven, its build provenance recorded
health.requiredcorethe deployment must be observed healthy
red_first.requiredsoftware.changea bugfix's regression test must fail on its first run, before the implementation is first changed
security_review.requiredsoftware.changea change that affects a security boundary must be security reviewed by another principal than the implementer
ci.requiredsoftware.changecontinuous integration must pass for the current implementation revision
gate.requiredsoftware.changethe repository's gate must be green for the current implementation revision
merge.requiredsoftware.changethe pull request for the current implementation revision must be merged
regression.requiredself.improvementthe scorecard must show no regression at the candidate
reproduction.requiredself.improvementthe finding must be reproduced on the baseline before a candidate counts
verification.requiredself.improvementthe finding must be verified gone on the candidate by another run
honesty.requiredloop.improvementa loop change never redefines a metric silently
improvement.requiredloop.improvementa loop change counts only when its metric improved

Outcomes​

Category outcome_id.

TermMarkingMeaning
acceptedcorethe case closed with its result accepted
declinedcorethe case closed without carrying out its intent, on a decision not to or on evidence that its candidate did not achieve it
rolled_backcorethe case closed with its release returned to a previous one
supersededcorethe case closed on a decision that another case replaces it
abandonedcorethe case closed on a decision to stop before it reached any planned outcome
supportedcorethe case closed with its hypothesis supported
refutedcorethe case closed with its hypothesis refuted by a valid, reproducible result
invalid_experimentcorethe case closed because its experiment is not valid
inconclusivecorethe case closed on a decision that its experiment settles nothing
keptcorethe case closed with its candidate kept
rejectedcorethe case closed with its candidate rejected on a false keep claim
proposedcorethe case closed with its candidate proposed to a person, because it leaves the loop's surface
unreproducibleself.improvementthe turn closed because the finding's predicate does not hold on the baseline

Decisions​

Category decision_name.

TermMarkingMeaning
explicitly_declinedcorea recorded decision not to carry out the case's intent
explicitly_supersededcorea recorded decision that another case replaces this one
explicitly_abandonedcorea recorded decision to stop the case before it reaches any planned outcome
explicitly_inconclusivecorea recorded decision that the case's evidence settles nothing

Case inputs​

Category case_input.

TermMarkingMeaning
riskcorehow much proof a case must carry, fixed when it opens; it selects the obligations that apply
change_kindsoftware.changewhat a change to software is, fixed when its case opens; it selects whether a regression must be reproduced first
affects_security_boundarycorewhether a change affects a security boundary, fixed when its case opens; one that does needs an independent security review
surfaceself.improvementwhether the candidate's change, base to head, touches a judge surface
tests_firstsoftware.changewhether a story's tests must fail before its implementation is edited, fixed when its case opens
gate_onsoftware.changewhen the repository's gate runs, fixed when a story's case opens

Input values​

Category input_value.

TermMarkingMeaning
trivialcorethe lowest risk; a change whose tests must pass and nothing more
standardcorethe usual risk; everything trivial requires, and review
elevatedcorea raised risk; everything standard requires, and a proven release
criticalcorethe highest risk; everything elevated requires, and a healthy deployment
featuresoftware.changea change that adds or alters behaviour
bugfixsoftware.changea change that repairs a regression, which a failing test must reproduce before the implementation is edited
refactorsoftware.changea change to the implementation that keeps its behaviour
truecorethe value of a yes-or-no case input when what it asks holds
falsecorethe value of a yes-or-no case input when what it asks does not hold
judgeself.improvementthe candidate's change touches a judge surface
non_judgeself.improvementthe candidate's change touches no judge surface
requiredsoftware.changethe implementation is edited only while the story's tests, once written, fail at the current revision
optionalsoftware.changethe implementation may be edited whatever the tests have done
after_handoversoftware.changethe gate runs once, on the revision whose tests pass and whose change is handed over
each_revisionsoftware.changethe gate runs at every revision, whenever asked

Independence dimensions​

Category independence_dimension.

TermMarkingMeaning
different_principalcorethe producer of a record is another principal than the one who did the case's work
different_agent_runcorethe producer of a record is another agent run than the one that did the case's work