Skip to content

Releases: tomismeta/aperture

Aperture v0.4.1

01 May 16:19

Choose a tag to compare

Aperture v0.4.1

@tomismeta/aperture@0.4.1 is a product adapter-freshness patch release.

It keeps the 0.4.0 runtime, /work ingress contract, and bundled
@tomismeta/aperture-core@0.7.0 judgment engine intact while refreshing the
host adapter layer against the latest supported harness surfaces.

Highlights

  • refreshes the generated Codex App Server protocol types
  • maps newer Codex thread-goal, patch, MCP status, rate-limit, remote-control,
    model-verification, warning, and guardian-warning notifications
  • updates OpenCode response routing to prefer the current session-scoped
    permission endpoint
  • maps newer OpenCode session, todo, MCP, workspace, and worktree lifecycle
    events into the shared attention stream
  • expands Claude Code hook coverage for safe lifecycle and status events,
    including setup, prompt expansion, tool batches, file-change awareness, and
    worktree lifecycle hooks
  • keeps the new adapter code split into bounded mapper/parser modules instead
    of growing the existing adapter monoliths

Why This Matters

This release keeps Aperture's shared operator surface current with the moving
agent-harness layer without changing the core product shape.

In practice that means:

  • supported adapters send richer status and audit context into Aperture
  • responses route back through newer host APIs where available
  • Codex protocol drift is absorbed by generated types rather than hand-written
    guesses
  • the deterministic core SDK remains stable for embedders

What Did Not Change

This release does not change:

  • the public @tomismeta/aperture-core SDK surface
  • the host-neutral /work contract
  • the default local runtime shape
  • the product stance that Aperture is a shared review surface, not another
    agent host

Validation

Validated with:

pnpm release:check

That includes typecheck, lint, formatting, dependency audit, contract/schema
checks, boundary and architecture checks, the full test suite, judgment battle,
SDK proof, and product smoke.

Install

npm install -g @tomismeta/aperture
aperture

See:

Aperture v0.3.0

09 Apr 19:52

Choose a tag to compare

Aperture v0.3.0

@tomismeta/aperture@0.3.0 is a product release that tightens the live
operator loop and adds a cleaner optional ingress path for external work,
without making the shipped product heavier.

Highlights

  • bundles @tomismeta/aperture-core@0.6.0
  • adds a cleaner local /work ingress path with progressive sophistication:
    • plain text
    • minimal structured WorkEvent
    • WorkEvent[] batch
  • adds a public response loop for structured human-input requests:
    • GET /work/response/{interactionId}
  • preserves engaged operator focus more deliberately in the live surface
  • bounds ambient retention so long-running product state stays cleaner
  • clarifies the product-vs-SDK split in the docs and package entrypoints

Why This Matters

This release improves both sides of the product loop:

  • the operator experience is calmer while real work is in flight
  • the product is easier to integrate with when another tool needs to report
    work into a running Aperture instance

The important balance is intentional:

  • Aperture is still the local attention product first
  • /work is an optional integration seam, not the whole product story

What Did Not Change

This release does not broaden the public product surface casually.

It does not add:

  • a public /runtime/* API contract
  • a shipped aperture demo command
  • a separate published runtime package
  • webhook or cloud complexity

The product is still:

  • install @tomismeta/aperture
  • run aperture
  • connect supported agent surfaces
  • work from one calm attention surface

Validation

Validated with:

pnpm typecheck
pnpm product:smoke
pnpm release:check

Install

npm install -g @tomismeta/aperture
aperture

See:

Aperture Core SDK v0.6.0

09 Apr 19:52

Choose a tag to compare

Aperture Core SDK v0.6.0

@tomismeta/aperture-core@0.6.0 is an attention-integrity release that keeps
the SDK small while making live judgment calmer, safer, and easier to trust.

Highlights

  • keeps the core judgment path cleaner by continuing the orchestration split
    around the engine without widening the public SDK surface
  • adds operator engagement support so hosts can preserve current focus briefly
    while a human is actively interacting
  • bounds ambient retention and prunes empty task state instead of letting stale
    passive history grow unbounded
  • hardens the engine with broader exhaustive guards and stronger semantic test
    coverage

Why This Matters

This release improves the two things that matter most for a reusable judgment
engine:

  • the engine should stay understandable and stable at its boundary
  • the live attention loop should feel calm instead of twitchy under pressure

In practice that means:

  • better focus continuity while a human is engaged
  • safer long-running state retention
  • a cleaner core file boundary without moving semantics or judgment out of core
  • stronger defensive checks against silent drift as the ontology evolves

What Did Not Change

This release does not turn the SDK into a host runtime.

It does not add:

  • HTTP routing
  • local runtime hosting
  • source-specific adapters
  • TUI rendering concerns

The SDK is still the in-process deterministic judgment engine:

event in -> frame/view out -> human response in

Validation

Validated with:

pnpm typecheck
pnpm sdk:prove
pnpm release:check

Install

npm install @tomismeta/aperture-core

See:

Aperture v0.2.1

04 Apr 18:01

Choose a tag to compare

Aperture v0.2.1

@tomismeta/aperture@0.2.1 is a product patch release that expands Claude Code
hook coverage so Aperture sees more of the real session lifecycle without
changing the core SDK surface.

Highlights

  • expands the default Claude hook install set to include:
    • SessionStart
    • InstructionsLoaded
    • PermissionDenied
    • SubagentStart
    • SubagentStop
    • TaskCreated
    • TaskCompleted
    • StopFailure
    • TeammateIdle
    • ConfigChange
    • CwdChanged
    • PreCompact
    • PostCompact
    • SessionEnd
  • adds adapter/runtime mapping for ConfigChange and CwdChanged
  • improves Claude session continuity and ambient awareness in the live product
  • keeps the hook/install story aligned with the adapter’s actual supported
    surface

Why This Matters

Claude Code now tells Aperture more about what is happening around a session:

  • when the session starts or ends
  • when instructions or config change
  • when Claude changes directories
  • when teammate tasks and subagents start or stop
  • when compaction or API failure changes session posture

That gives the local attention surface better continuity and more legible
session-state awareness without broadening Aperture’s product shape.

What Did Not Change

This release does not change:

  • @tomismeta/aperture-core
  • the surfaced lane model
  • the TUI contract
  • the local-first product shape

It also still intentionally excludes:

  • FileChanged
  • WorktreeCreate
  • WorktreeRemove

Those hooks either add likely noise or require behavior-replacing integration
instead of passive observation.

Validation

Validated with:

pnpm exec tsx --test packages/claude-code/test/claude-code-adapter.test.ts packages/claude-code/test/claude-code-server.test.ts packages/aperture/test/claude-hooks.test.ts
pnpm typecheck
pnpm release:check

Install

npm install -g @tomismeta/aperture
aperture

See:

Aperture v0.2.0

04 Apr 17:23

Choose a tag to compare

Aperture v0.2.0

@tomismeta/aperture@0.2.0 is a product release that ships the hardened
judgment substrate, clearer operator language, and the cleaned-up surfaced lane
model.

Highlights

  • bundles @tomismeta/aperture-core@0.5.0
  • updates the surfaced lane language to:
    • now
    • next
    • ambient
  • improves why mode and trace copy so the TUI better distinguishes:
    • routed facts
    • context-only semantics
    • source vs inferred provenance
  • cleans up runtime capture/export naming so recorded artifacts use the same
    contract vocabulary as the live product
  • keeps cross-adapter semantic behavior more consistent across Claude Code,
    OpenCode, and Codex

Why This Matters

This is the biggest product-shape cleanup since the initial package cut.

The product should now feel:

  • calmer
  • more coherent
  • easier to inspect
  • more internally consistent from SDK to runtime to TUI

In practice that means:

  • cleaner now/next/ambient framing in the live surface
  • better why-mode explanations
  • better trace fidelity from host adapters
  • more polished exported captures and replay artifacts

What Did Not Change

This release does not change the basic Aperture product shape:

  • install @tomismeta/aperture
  • run aperture
  • connect supported agent surfaces
  • work from one calm attention surface

It also does not add broader cloud or marketplace behavior. The product is
still the local attention surface built on the deterministic judgment core.

Validation

Validated with:

pnpm typecheck
pnpm --dir packages/aperture run smoke
pnpm release:check

Install

npm install -g @tomismeta/aperture
aperture

See:

Aperture Core SDK v0.5.0

04 Apr 17:23

Choose a tag to compare

Aperture Core SDK v0.5.0

@tomismeta/aperture-core@0.5.0 is a judgment-substrate release that tightens
semantic correctness, clarifies the public SDK shape, and cleans up the
surfaced lane contract.

Highlights

  • cuts over the public lane/read-model contract to:
    • now
    • next
    • ambient
  • adds a curated public trace entrypoint:
    • @tomismeta/aperture-core/trace
  • keeps the SDK organized into three clean interaction surfaces:
    • root engine loop
    • /semantic
    • /trace
  • strengthens semantic provenance and ambiguity handling
  • makes traces more legible and more explicit about:
    • source facts
    • inference
    • decision-bearing impact
    • context-only semantics
  • improves cross-adapter semantic consistency for Claude Code, OpenCode, and
    Codex

Why This Matters

This release makes Aperture feel more like a real reusable judgment substrate
and less like a repo-internal engine.

The biggest changes are:

  • a cleaner public SDK
  • a more coherent lane vocabulary
  • stronger semantic correctness
  • better explainability for consumers using trace output directly

The result is a core package that is easier to trust, easier to embed, and
easier to reason about across hosts.

Breaking Changes

The public surfaced lane contract now uses:

  • now
  • next
  • ambient

instead of:

  • active
  • queued
  • ambient

That affects public view/read-model consumers and related trace lane fields.

This release also narrows the public onTrace(...) runtime shape to the curated
trace contract instead of leaking the richer internal trace snapshot.

What Did Not Change

This release does not introduce:

  • model calls in the hot path
  • host-specific logic in core
  • a broader root-package export surface
  • workflow/runtime assumptions in the SDK

The judgment path stays:

  • deterministic
  • local
  • inspectable

Validation

Validated with:

pnpm typecheck
pnpm sdk:prove
pnpm release:check

Install

npm install @tomismeta/aperture-core

See:

Aperture v0.1.2

31 Mar 01:26

Choose a tag to compare

Aperture v0.1.2

@tomismeta/aperture@0.1.2 is a product patch release that ships the updated
core semantic behavior inside the public Aperture product package.

Highlights

  • bundles the stronger aperture-core semantic interpretation from
    0.4.2
  • improves how the shipped product handles imported observational failures and
    reduces false escalation in real agent traces

Why This Matters

@tomismeta/aperture is the installable product, not just an SDK wrapper.

Even when the product package itself does not add new top-level commands in a
patch, rebuilding it with a better judgment core matters because users feel the
result directly in:

  • calmer interruption behavior
  • more accurate consequence reads
  • better trace explanation

What Did Not Change

This is still the same product line introduced in 0.1.0.

It does not change the basic product shape:

  • install @tomismeta/aperture
  • run aperture
  • connect supported agent surfaces
  • work from one calm attention surface

Validation

Validated with:

pnpm typecheck
pnpm --dir packages/aperture run smoke
pnpm release:check

Install

npm install -g @tomismeta/aperture
aperture

See:

Aperture Core SDK v0.4.2

31 Mar 01:26

Choose a tag to compare

Aperture Core SDK v0.4.2

@tomismeta/aperture-core@0.4.2 is a semantic robustness patch release.

This cut improves how Aperture interprets imported agent traces without
changing the public SDK shape.

Highlights

  • reclassifies observational read and edit failures more accurately
    • routine readback output no longer looks like a critical failure by default
  • tightens semantic risk phrase matching to reduce false escalation from loose
    substring matches
  • adds semantic provenance so a consumer or reviewer can see whether a field
    came from:
    • source facts
    • deterministic inference
    • explicit hints
  • adds semantic impact tracking so traces can separate:
    • decision-bearing fields
    • explanatory-only fields

Why This Matters

The biggest quality improvement in this release is that Aperture gets calmer
around imported coding-agent traces.

Some public corpora report routine file readbacks as failed, even when the
tool clearly returned useful file contents. Before this patch, those could be
surfaced as higher-consequence failures than they deserved.

0.4.2 makes that class of judgment more accurate while keeping the hot path:

  • deterministic
  • local
  • inspectable

What Did Not Change

This release does not widen the public SDK contract.

It does not add:

  • new runtime dependencies
  • host-specific logic in core
  • model calls in the judgment path
  • a broader root-package export surface

Validation

Validated with:

pnpm exec tsx --test packages/core/test/semantic-normalization.test.ts packages/core/test/trace-recorder.test.ts
pnpm typecheck
pnpm release:check

Install

npm install @tomismeta/aperture-core

See:

Aperture Core SDK v0.4.1

24 Mar 15:45

Choose a tag to compare

Aperture Core SDK v0.4.1

@tomismeta/aperture-core@0.4.1 is a small SDK polish release.

This patch keeps the 0.4.0 judgment engine and public package shape intact,
while tightening the SDK contract around host-aware integrations.

Highlights

  • exports AttentionSurfaceCapabilities and related capability types from the
    root SDK package
  • clarifies the difference between:
    • host constraints
    • explicit operator profile
    • learned operator behavior
  • tightens npm-facing SDK wording so the package reads more clearly as the
    deterministic judgment engine inside Aperture
  • keeps the root SDK loop small and stable:
    • event in -> frame/view out -> human response in

Why This Matters

SDK consumers can always adapt their host outside core.

But if a host never tells Aperture what it can actually render or accept, core
will still plan as if it is targeting the richer default surface.

This release makes that host-capability seam more explicit without expanding the
SDK into host-specific integrations.

That is especially useful for:

  • conversational terminal hosts
  • chat or plugin surfaces
  • speech-first or audio-friendly interfaces
  • any embedded host that is more constrained than the default TUI

What Did Not Change

This is not a routing or learning-behavior release.

It does not change:

  • the deterministic judgment path
  • default planning semantics
  • learning persistence behavior
  • the semantic subpath contract

Validation

Validated with:

pnpm exec tsx --test packages/core/test/public-sdk.test.ts
pnpm typecheck
npm pack --dry-run

Install

npm install @tomismeta/aperture-core

See:

Aperture v0.1.1

24 Mar 15:45

Choose a tag to compare

Aperture v0.1.1

@tomismeta/aperture@0.1.1 is a production-behavior patch release for the
first public Aperture product package.

Production Behavior Fixes

This patch keeps the original 0.1.0 product shape and install flow intact,
while tightening the real installed experience:

  • smooths SSH rendering so the surface no longer flashes or glitches while idle
  • restores the idle lens pulse on setup and quiet live screens without forcing
    full-screen repaints
  • keeps OpenCode setup guidance visible until the server is truly ready, then
    preserves the server URL and opencode attach ... command in the ready state
  • upgrades Claude setup detection so an already-working bridge is shown as
    ready, with the actual hook URL called out
  • lets show setup reopen the setup surface during quiet live moments without
    crowding now or next
  • hardens the built CLI artifact so the installed npm binary remains directly
    executable

Everything From v0.1.0 Still Applies

0.1.1 is still the same product release line introduced in 0.1.0:

  • plain npm install -g @tomismeta/aperture
  • plain aperture
  • local-first CLI/TUI product
  • one product-owned attention surface for approvals, follow-ups, failures, and
    blocked work

If you are installing Aperture for the first time, start here:

npm install -g @tomismeta/aperture
aperture

If you use Claude Code, Aperture prepares Claude on first launch. Restart
Claude Code after the first run and confirm /hooks loaded.

If you want OpenCode, run:

opencode serve --port 4096
opencode attach http://127.0.0.1:4096
aperture

Product Shape

This package is still the product, not a library surface.

Use @tomismeta/aperture when you want:

  • the installed CLI/TUI experience
  • one shared attention surface for agent work that needs you
  • local setup, troubleshooting, and uninstall flows

Use @tomismeta/aperture-core when you want the underlying deterministic
judgment engine as an SDK.

Why This Matters

The core product loop is still:

agent events in -> attention surface out -> human response back

0.1.1 makes that loop behave better in the real world, especially for:

  • SSH sessions
  • clean-box installs
  • existing Claude bridges
  • OpenCode server-and-attach setup

Validation

Validated with:

pnpm typecheck
pnpm exec tsx --test packages/aperture/test/connection-status.test.ts packages/tui/test/tui-render.test.ts packages/tui/test/interaction.test.ts
pnpm --dir packages/aperture run smoke

Install

npm install -g @tomismeta/aperture
aperture

See: