Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,10 @@ publication evidence compass-graph + fixtures/qualification

Read `docs/design/language-architecture.md` and
`docs/reference/universal-semantic-evidence.md` before changing universal
adapters, evidence facts, resolution rules, or language cutovers. Do not add a
universal adapter profile without direct evidence emission, validation,
resolution, and qualification in the same change.
evidence producers or pipelines, evidence facts, resolution rules, or
language cutovers. Do not add a universal evidence pipeline without direct
evidence emission, validation, resolution, and qualification in the same
change.

## Rust conventions

Expand Down
20 changes: 15 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,22 @@

## Unreleased

- Hard-cut Ruby extraction to the version-1 `compass.ruby.candidate` universal
- Refactor universal language metadata around `UniversalEvidenceProducer` and
`UniversalEvidencePipeline`. `UniversalCandidate`/`UniversalComplete` are
now the clearer lifecycle states `Qualifying`/`Qualified`; the serialized
evidence envelope moves from `adapter` to `pipeline`, replaces `profile`
with `qualification`, and replaces the producer string with `emitter`.
Universal evidence schema is now `/2` and extraction semantics is `/3`, so
pre-refactor caches and evidence artifacts are intentionally rebuilt.
Qualification manifests, candidate exports, and TypeScript scorecards now
use version-2 schemas and call their language identity `producer`.

- Hard-cut Ruby extraction to the version-1 `compass.ruby` universal
evidence publisher and replace the Rails source detector with the
evidence-backed `rails-ruby` universal pack. Reopened constants coalesce by
exact graph identity, instance/singleton method spaces stay distinct,
dynamic dispatch/load/eval forms fail closed, and Ruby remains explicitly
`UniversalCandidate` pending the independent precision/recall audit.
`Qualifying` pending the independent precision/recall audit.

- Preserve anonymous PHP functions and arrow functions as typed callable
`closure` nodes, and publish exact PHP trait composition as `mixes_in`
Expand Down Expand Up @@ -36,7 +46,7 @@
records, and amortize bounded snapshot garbage collection. Exact preflights
fall back to full publication whenever topology or secondary indexes change.

- Hard-cut Kotlin onto a version-1 universal candidate adapter with packages,
- Hard-cut Kotlin onto a version-1 qualifying universal pipeline with packages,
declarations, extension functions, annotations, generic/nullable types, and
named/default argument resolution; convert Spring Kotlin to the universal
framework pack and require exact compiler evidence for Java/Kotlin calls.
Expand Down Expand Up @@ -88,7 +98,7 @@
the historical realization. Materialization also verifies the requested
profile before reusing a preferred realization.

- Hard-cut PHP production extraction to the version-1 universal candidate with
- Hard-cut PHP production extraction to the version-1 universal evidence pipeline with
modern declarations, namespaces, grouped and aliased imports, traits,
attributes, enum cases, promoted properties, calls, construction, typed
receivers, and source-backed ownership. Resolve PHP type and callable names
Expand All @@ -98,7 +108,7 @@
Laravel routes and Drupal hooks to universal source evidence while retaining
Drupal routing configuration and Blade template extraction.

- Hard-cut C# production extraction to the version-1 universal candidate with
- Hard-cut C# production extraction to the version-1 universal evidence pipeline with
bounded AST-backed declarations, namespaces, imports and aliases, overload
signatures, typed members and parameters, construction and call evidence,
base types, ownership, and explicit overrides. Remove the replaced C# raw
Expand Down
28 changes: 20 additions & 8 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,27 @@ sidecars. Its output root now preserves the familiar flat artifact shape so
file-based workflows can transition while Compass's snapshot and store
layout remains visible and clearly owned.

## Ruby universal-candidate rebuild
## Ruby universal evidence rebuild

The current release publishes Ruby through the version-1 universal evidence
candidate (`compass.ruby.candidate`) and the evidence-backed `rails-ruby`
framework pack. Ruby graph output is therefore regenerated on the first build
after upgrading; do not reuse a Ruby cache produced by an older Compass
publisher. Ruby is still a candidate rather than a complete-quality claim,
so retain review of ambiguous/dynamic Ruby relationships and do not treat
unresolved dynamic dispatch as a missing deterministic fact.
pipeline (`compass.ruby`) and the evidence-backed `rails-ruby` framework pack.
Ruby graph output is therefore regenerated on the first build after upgrading;
do not reuse a Ruby cache produced by an older Compass publisher. Ruby is still
`Qualifying` rather than a complete-quality claim, so retain review of
ambiguous/dynamic Ruby relationships and do not treat unresolved dynamic
dispatch as a missing deterministic fact.

## Universal evidence schema reset

The universal evidence envelope is now `compass.languages.evidence/2` and the
extraction semantics identity is `compass.languages.extraction/3`. The envelope
field is `pipeline` (with `qualification` and `emitter` metadata), replacing
the provisional `adapter`/`profile`/`producer` shape. Compass intentionally
does not translate or reuse pre-refactor universal evidence; run a forced
update to regenerate one coherent artifact set. Qualification manifests,
candidate exports, and TypeScript scorecards likewise require their `/2`
schemas and use `producer` for the language evidence identity; regenerate
those audit inputs rather than trying to load the old field names.

## Install Compass

Expand Down Expand Up @@ -220,7 +232,7 @@ queries use JSON by default; use `--engine store` to select a retained sidecar.

Downgrades must validate the output with the target binary. Do not reuse a
newer physical SQLite/redb file merely because its filename matches. Rebuild
when the target binary reports an unsupported major or adapter.
when the target binary reports an unsupported major or storage provider.

## Update node-trail direction handling

Expand Down
Loading
Loading