Skip to content

Promote staged fixes into 0.1.9 - #1838

Merged
swapnilpaliwal-sd merged 10 commits into
0.1.9from
apps/integration-0.1.9
Sep 30, 2026
Merged

swapnilpaliwal-sd merged 10 commits into
0.1.9from
apps/integration-0.1.9

Conversation

@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor

Promotes 4 fixes from apps/integration-0.1.9 into 0.1.9.

Checked on the staged build: probes compared in 5 products (no regressions), end-to-end plugin/MCP/skill check passed.

swapnilpaliwal-sd and others added 9 commits September 30, 2026 05:43
A key of an exported const object literal whose value is data (TOPICS.CREATED
in Object.freeze({ CREATED: 'a.b' }), a CommonJS const table) was no
declaration, so impact refused it and its readers were word matches.

- index: declare each data key of a module-level const literal under its key
  chain (JS and TS), seeing through Object.freeze/seal; function-valued keys
  inside Object.freeze are now owned by the variable too
- rules: a read behind the object's own name is in scope; behind any other
  name, or a bare name, it is not this object's key

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
…ns filed under the same key

A class that stores a function parameter in a field under a key parameter
(slot.add(fn), map.set(k, fn), obj[k] = fn) and another method that reads
that field by key and calls what it gets is now joined caller to caller:
each publish site reaches the functions registered under an equal key
(tier event_dispatch), a run-time key reaches all of them, and a constant
the dispatch also looks up (a wildcard) matches every publish. Wrappers
that forward the key or the function, and a subscribe-all method taking a
table of { [KEY]: fn } entries, are followed.

The function-type envelope row that made every registered function a
candidate of the handler type (key-blind) is withdrawn for such a store's
parameter, its overload signatures and forwarding wrappers.

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
…ter engine is newer

A graph built where there was no git (a mirror synced without .git) stamps no
commit and no tree. `changed` and the edit hooks then read the working tree
against HEAD, so every uncommitted edit the index had read came back as
changed right after it, and a copy without git could not answer at all.

- changed: with no commit recorded, a file whose hash matches the table the
  index wrote is not an edit; one that differs is (read against HEAD, or
  counted whole without git). No table: the old refusal.
- build: an explicit no-git index keeps its table as base-files.json; a
  background refresh leaves it, as base-tree is kept for git.
- hooks: say "the files the graph was indexed from", never "commit nogit";
  the Read stale note uses the table hash when there is no commit.
- newer check: a graph ahead on either IMPACT_VERSION or engine version is
  newer (a lower IMPACT_VERSION no longer hides a later engine), and the note
  names AXIOMCODE_ENGINE when it is not the checkout answering.

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
On a cold cache the first index compiled the language's engine with the C++
compiler: minutes regardless of repository size, while the index itself takes
seconds. run-souffle.sh gains --prepare (the same program, id, cache entry and
lock as a run, without a project), bin/axiomcode gains `prepare` (every
language in parallel), and npm's postbuild starts it in the background, so an
install or a refresh compiles the engines before the first index needs them.
Skipped under CI or AXIOMCODE_NO_PREPARE.

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
…g-compile-dominates-first-ind

Compile the engine binaries at build time, not at the first index
…nance-false-alarms-on-mirror

Graph provenance: diff a no-commit graph against its file table; a later engine is newer
…cess-callback-registry

TypeScript: join a keyed in-process registry's publish to the functions filed under the same key
…t-literal-keys-not-declared

Declare the data keys of module-level const objects
@swapnilpaliwal-sd
swapnilpaliwal-sd merged commit 610623e into 0.1.9 Sep 30, 2026
12 checks passed
@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor Author

Scorecard after this promotion (probes on build ddf331c; score = (3probes_failing + 2missed_dependents + 5precision_loss + agent_shortfalls + tokens_wasted/10k) * (1 + 0.25(apps_hit-1)))

app probes pass fixed/regressed since last promotion impact R tests R/P
Java 68% (was 68%) +0/−0 .50 .67/.33
Python 57% (was 57%) +0/−0 .75 .19/.35
C# 73% (was 73%) +0/−0 1.00 .61/.20
TypeScript 74% (was 72%) +0/−0 .55 .70/.14
JavaScript 83% (was 83%) +0/−0 1.00 1.00/.19

Top 5 targets:

  1. test selection includes tests that cannot reach the change · Java, Python, C#, TypeScript, JavaScript · score 282.9, was 282.9
  2. message producer and consumer in different services are not joined (topic / event type) · Java, Python, C#, TypeScript, JavaScript · score 234.5, was 234.5
  3. dependency-injection and framework registrations are not followed to the implementation · Java, Python, C#, TypeScript, JavaScript · score 214.6, was 214.6
  4. by-name matches ignore known receiver types and merge same-named or anonymous declarations · Java, Python, C#, TypeScript, JavaScript · score 187.4, was 187.4
  5. in-process event bus or handler table keyed by name: publish does not reach the subscribers · Java, Python, C#, TypeScript, JavaScript · score 171.1, was 167.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant