Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ci(release): Release v0.0.1 - #4

Merged
pedronauck merged 1 commit into
mainfrom
release/v0.0.1
Mar 30, 2026
Merged

ci(release): Release v0.0.1#4
pedronauck merged 1 commit into
mainfrom
release/v0.0.1

Conversation

@pedronauck

@pedronauck pedronauck commented Mar 30, 2026

Copy link
Copy Markdown
Member

Release v0.0.1

This PR prepares the release of version v0.0.1.

Changelog

Changelog

All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

Unreleased

♻️ Refactoring

  • (repo) Improve commands

🎉 Features

  • (repo) Add build and release
  • (repo) Add adr support
  • (repo) Add fetch reviews
  • Main structure

🐛 Bug Fixes

  • (repo) Release

@coderabbitai

coderabbitai Bot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • CHANGELOG.md is excluded by !**/*.md

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 15aac966-fc36-45aa-a7a0-8d784fb8560f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.0.1

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Dry-Run Completed Successfully

📊 Build Summary

  • Version: 0.0.0-1774880973
  • Commit: 5d96b67

📦 Built Artifacts

Not available.


This is an automated comment from the release dry-run check.

pedronauck added a commit that referenced this pull request Jul 30, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Jul 30, 2026
* feat: Generated SDK contracts + publishing groundwork (Phase A) #1

Checkpoint via cy-loop-tasks (iteration 2, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Manifest v2, permissions, config consolidation + hook source (Pha…

Checkpoint via cy-loop-tasks (iteration 3, phase B mode=tasks).

Focused Phase B gates passed; full make verify remains reserved for final program completion.

Co-Authored-By: Codex <[email protected]>

* feat: Code-first toolchain: describe mode, build/validate/init (Phase C…

Checkpoint via cy-loop-tasks (iteration 4, phase B mode=tasks).

Scoped Phase C gates passed; the single monorepo make verify remains reserved for final program completion.

Co-Authored-By: Codex <[email protected]>

* feat: Dev lane: links, instance-keyed reload, logs, watch (Phase D) #4

Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Distribution: source union, gitsrc, sidecars, publish, search, up…

Checkpoint via cy-loop-tasks (iteration 6, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Contributed commands surface (ADR-008, fixture-proven) #6

Checkpoint via cy-loop-tasks (iteration 7, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: CLI UX & operability: diagnostics, status, doctor, events matrix…

Checkpoint via cy-loop-tasks (iteration 8, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Web surfaces: update affordance, install forms, dev badge, logs p…

Checkpoint via cy-loop-tasks (iteration 9, phase B mode=tasks).

Visual recapture was explicitly waived by the operator; functional browser and focused gates passed.

Co-Authored-By: Codex <[email protected]>

* feat: Docs, official skill, examples, QA scenario flags (Phase G) #9

Checkpoint via cy-loop-tasks (iteration 10, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: QA Plan and Session Charters #10

Checkpoint via cy-loop-tasks (iteration 11, phase B mode=tasks).

QA planning checkpoint: six targeted extension charters, one Marketplace/Skills canary, 676 materialized scenarios, and explicit coverage of Safety Invariants 1-17 plus ADRs 001-008.

Co-Authored-By: Codex <[email protected]>

* fix: close extension QA defects

* fix: remediate extension deep review

* fix: review round

* fix: resolve post-rebase integration defects

---------

Co-authored-by: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 3, 2026
* feat: Schema, classification, DSL grammar and config contracts #1

Checkpoint via cy-loop-tasks (iteration 2, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: implement loop node failure precedence

* feat: Effects: outbox, relay and delivery identity #3

Checkpoint via cy-loop-tasks (iteration 4, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Target health breaker, quarantine and requeue #4

Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* fix: resolve CodeRabbit lifecycle review

* fix: address incremental CodeRabbit feedback

---------

Co-authored-by: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 13, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Validated task and Loop worktree placement across queue snapshots, lease-fenced session binding, public contracts, real Git journeys, and generated artifacts.

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 13, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Validated task and Loop worktree placement across queue snapshots, lease-fenced session binding, public contracts, real Git journeys, and generated artifacts.

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 14, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Validated task and Loop worktree placement across queue snapshots, lease-fenced session binding, public contracts, real Git journeys, and generated artifacts.

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 14, 2026
* feat: Schema and worktree domain core #1

Checkpoint via cy-loop-tasks (iteration 2, phase B mode=tasks).

Focused evidence: worktree race unit suite, real-Git lifecycle integration, migration integrity/equivalence, and 80.8% package coverage. Heavy gates remain deferred to the QA tail by workflow direction.

Co-Authored-By: Codex <[email protected]>

* feat: Worktree public surface: API, CLI, native tools, streams #2

Checkpoint via cy-loop-tasks (iteration 3, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Session binding, containment, spawn inheritance, fork #3

Checkpoint via cy-loop-tasks (iteration 4, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Environment policies: task worktree policy + loop environment #4

Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Validated task and Loop worktree placement across queue snapshots, lease-fenced session binding, public contracts, real Git journeys, and generated artifacts.

Co-Authored-By: Codex <[email protected]>

* feat: Assisted exit, forge.provider surface, bundled GitHub extension #…

Checkpoint via cy-loop-tasks (iteration 6, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: add web worktree navigation and lifecycle

* feat: Web: environment surfaces and assisted exit #7

Checkpoint via cy-loop-tasks (iteration 10, phase B mode=tasks).

Focused Go race suites, web tests, typecheck, and lint passed. Browser and visual evidence remain assigned to the QA tail.

Co-Authored-By: Codex <[email protected]>

* docs: document Worktree operations and agent surfaces #8

* feat: QA Plan and Session Charters #9

Checkpoint via cy-loop-tasks (iteration 14, phase B mode=tasks).

Adds the durable Worktree QA plan and closes lint, optional-state, native-tool metadata, and bundled-skill inventory gaps exposed by the full gate.

Co-Authored-By: Codex <[email protected]>

* fix: preserve operator global config at daemon boot

* fix: mount desktop shell context before projection reads

* docs: record autonomous observer mismatch replay

* fix: preserve pending worktree creation state

* fix: expose worktree config lifecycle

* fix: reject invalid worktree bases before acceptance

* fix: preserve task fanout intent identity

* fix: start native task claims in bound sessions

* test: complete worktree real-user QA

* fix: keep worktree exit menu mounted

* fix: complete worktree review remediation

* fix: reconcile main rebase contracts

* fix: lint

* docs: update design

* fix: a lot of adjustments

---------

Co-authored-by: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 18, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Focused race verification and codegen checks passed; batch gate and live QA remain deferred by the controlling loop plan.

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 18, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Focused race verification and codegen checks passed; batch gate and live QA remain deferred by the controlling loop plan.

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 19, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Focused race verification and codegen checks passed; batch gate and live QA remain deferred by the controlling loop plan.

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 19, 2026
* feat: P0 cleanup: hash_fields deletion, predicate policy, per-gate coun…

Checkpoint via cy-loop-tasks (iteration 2, phase B mode=tasks).

Focused race, integration, codegen, web test, and web/site typecheck evidence passed. Full gate and QA remain deferred to the loop tail by user instruction.

Co-Authored-By: Codex <[email protected]>

* feat: P1 router: route node + gate verdict routing #2

Checkpoint via cy-loop-tasks (iteration 3, phase B mode=tasks).

Focused verification includes route planner/linter race suites, migration integrity, web codec/typecheck, and E2E-008 loop status route causes; heavy project gates and QA remain deferred by the accepted loop instructions.

Co-Authored-By: Codex <[email protected]>

* feat: P2 requests core: ask node, respond plane, ResponderPolicy #3

Checkpoint via cy-loop-tasks (iteration 4, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: P3 per-lane addressing, review gate, amend overlay #4

Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Focused race verification and codegen checks passed; batch gate and live QA remain deferred by the controlling loop plan.

Co-Authored-By: Codex <[email protected]>

* feat: add fan-out strategy settlement

* feat: window wide fan-out execution

* feat: P7+P8 time travel: diff, rerun, fork + cross-cutting suites #7

Checkpoint via cy-loop-tasks (iteration 11, phase B mode=tasks).

Focused verification passed; full gate, live QA, review, and frontend work remain deferred to the post-task tail.

Co-Authored-By: Codex <[email protected]>

* fix: adjustments

* fix: errors

* docs: graph eng design

* feat: P9 web run-page surfaces (S1–S8, S10–S12) + visual contract #8

Checkpoint via cy-loop-tasks (iteration 13, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: compose loop requests into attention

* test: plan graph completion QA

* fix: close graph QA regressions

* fix: preserve update contract after rebase

* fix: deep review

* fix: ci fixes

* fix: graph engineering request

* feat: add entity-backed typed Loop inputs

* docs: record typed Loop input QA fixes

* fix: resolve typed Loop input review findings

* fix: preserve composed request schemas in snapshots

* refactor: satisfy strict branch lint

* test: record typed Loop remediation QA

* fix: preserve workspace in native Loop config writes

* fix: satisfy React compiler checks after rebase

---------

Co-authored-by: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 22, 2026
* feat: Terminal settlement invariant, reconciliation sweep & loops confi…

Checkpoint via cy-loop-tasks (iteration 2, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Catalog loop classification with 4-surface parity #2

Checkpoint via cy-loop-tasks (iteration 4, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: add loop run read layer and CLI verbs #3

* feat: add calm task views and loop provenance #4

* feat: redesign loop run registers and unblockers #5

* fix: remediate loop legibility review findings

* docs: plan loop legibility QA cycle

* fix: narrow generated loop read filters

* fix: update loop briefing duration fixtures

* fix: print runnable loop request unblockers

* fix: quote loop unblocker payloads for shells

* fix: expose loop timeline resume bounds

* fix: recover sessionless task leases

* fix: requeue expired loop coordinators

* docs: record loop runtime QA phase

* docs: close loop runtime QA lab

* fix: remediate loop runtime QA findings

* fix: observe runtime progress from public reads

* fix: label unnamed loop briefing outputs

* fix: harden runtime observer contracts

* fix: ignore loop heartbeat events in observer

* fix: require every run-page story to stage its served verdict

Visual Contract row VC-08 was recorded as PASS against a capture that showed
a terminal "Done" run with no partial signal at all. The story it targets
staged no briefing read, and buildScenarioProps filled the gap with a
manufactured verdict - tone "ok", a headline built from the loop name and
round, no outcome, no artifacts - so the capture photographed a state nobody
had staged. VC-03, VC-06 and VC-07 failed the same way inside their recorded
scope boundaries.

Make the omission impossible instead of papering over it: briefing is now
required on LoopRunStoryScenario, the placeholder is deleted, and briefingFor
copies the run's server-owned run_id, status, progress and usage while
requiring each scenario to state the tone and headline the daemon writes. The
compiler enumerates every site, so a scenario that has not staged a verdict
cannot render one.

Add registerPartialOutputsScenario for VC-08: a run that failed after seven of
ten fix workers returned, labelling its output partial in the default register
through the artifact's warning note, the join's partial chip and the fan-out's
"partial 7 of 10" coverage - all server-owned reads, none derived client-side.

Split the metric-ratchet scenarios and the durable lifecycle payloads into
their own files to stay under the 500-line cap.

Co-Authored-By: Claude Opus 5 <[email protected]>

* fix: make loop run stories stage the state they claim

The visual-contract evidence for task_04/task_05 was passing on captures that
did not show their named state. The fixture layer was the reason, and it is
what this fixes.

`briefingFor` documented that a scenario may not overwrite the server-owned
briefing fields, but `StoryVerdict` admitted all of them and `...verdict` was
spread last, so only the comment stood between a story and a briefing that
contradicted the run beside it. The type now excludes `run_id`/`status`/
`progress`/`usage`, the derived fields land after the caller's spread, and the
two usage facts the record cannot supply — `cost_usd`, `duration` — are kept as
a named optional. `makeBriefing` stopped being a second staging path: every
register and visual-contract scenario derives its briefing from its own run, so
the captures no longer photograph 82.4k tokens over a run recording 68k, a
"Done" strip over a failed run, or a calm verdict over a cancelled one.

Beat titles are the daemon's own (`Step <node> running`, `Round 2 started`)
rather than invented fixture copy, and the long story stages the fold the
daemon serves, so the paging row shows a coalesced beat and the way back
instead of a wall of identical rows. The story clock is stamped once per load
rather than pinned to a literal instant: projections took the pinned value and
components render against the wall clock, so every beat read "1d ago" and a
retry two minutes in the future read "next 1d ago".

Three surfaces were understating what the product does, and one was leaking
wire vocabulary into the default read:

- the needs-you card printed `needs_approval · <gate id>`, and
  `on_exceeded: <enum>` on the budget gate — two enums and a machine id in the
  register task_05 requirement 1 keeps them out of. It now names the asking
  gate in words with its round, and leaves the budget policy to the sentence
  the usage rail already carries.
- the request card never said who was asking, though `node_id` and
  `generation` were on the wire the whole time.
- a degraded runs roster said the rows were the last read without saying how
  old it was, which reads as "this is current".
- the roster answered "not started" about steps that had plainly run. A step
  whose timing did not survive now reads `unknown`.

Stories now stage what the host wires: Compare/Fork on the generation history,
`Browse loops` on the empty roster, an `attention` summary so the roster's
needs-you group exists, and reduced motion through `MotionConfig` rather than a
Storybook global that moved neither the context nor the media query. VC-22 gets
a deep graph of its own instead of re-staging VC-21's wide one.

Co-Authored-By: Claude Opus 5 <[email protected]>

* fix: give the loop run page the history and causes its rows claim

Inspecting the remaining twenty-one visual-contract rows one image at a time
turned up three more states the page was not actually in, plus a test that
asserted a number instead of an invariant.

The story pane reads the durable timeline, and several scenarios staged their
events richly while staging no timeline at all — so a run four rounds deep with
21k tokens spent rendered "Nothing has happened in this run yet." and four
contract rows captured that empty pane as their evidence. The read is now
derived from the scenario's own events, mirroring what the daemon does with
them at read time; kinds the mapping does not know are skipped rather than
given an invented sentence.

The terminal graph was drawing a finished run as though it were still on its
way: the scenario staged roster rows for two earlier rounds only, so the round
the graph draws had almost none and every unlisted step read "Reachable.
Nothing has reached it yet." The terminal round is staged in full now, and the
branch the run declined reads as declined.

Cancellation cause and actor move onto the roster row. Strategy-canceled and
operator-canceled share the neutral ramp by design, so the state word alone
cannot tell them apart — the roster showed two identical grey `canceled` chips
and the distinction US-012.EC-2 asks for was unreadable until the node panel
was opened. The node panel's builder is shared rather than copied, so the
runtime's own reason codes stay suppressed in both places.

`expect(scenarios.length).toBeGreaterThanOrEqual(18)` was a structural
threshold pretending to be a guard: the invariant is that a staged briefing
agrees with its run, and freezing a fixture count would fail on a scenario
being added or retired, neither of which can break that. It is now a plain
non-vacuity check, and the sweep reaches every module that exports scenarios
instead of two.

Co-Authored-By: Claude Opus 5 <[email protected]>

* fix: put the dozens in the active group the scale contract names

VC-35 stages "dozens active", and the reference note is specific about where the
scale goes: "Scale changes the count, not the composition. The needs-you group
still sorts first and stays small; active collapses into one scrollable table."

The story built its thirty runs by cycling every seed of `loopRunFixtures`. That
list is mostly terminal runs, so thirty drawn from it in order inherited the mix
two-fold and the roster sorted them into Needs you 2, Active 8, Recent 20 — the
dozens landed in Recent, the one group the row exists to show held eight, and
the needs-you group was twice the size the note calls small. The capture was
passing on a state it did not stage.

The scale fixture moves into its own module and partitions the seeds by the same
two facts `groupOf` groups on — a served `attention` summary, and whether the
status is terminal — rather than by naming ids. Thirty runs still, now one
needs-you, twenty-six active and a settled tail of three, so the composition
still reads as three groups while the count lands where the contract puts it.
Reusing the roster's own predicate means a change to the grouping rule carries
this fixture with it instead of silently dropping the bulk into the wrong group
again, which is how the defect survived the first pass.

The canonical `LoopRunsView` suite gains the invariant: at scale the three
groups keep their order, Active holds the dozens, Needs you stays small, every
run is accounted for, and no KPI band appears.

Co-Authored-By: Claude Opus 5 <[email protected]>

* feat: Real-User QA Execution #7

Checkpoint via cy-loop-tasks (iteration 8, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* test: refresh catalog subtest contexts

---------

Co-authored-by: Codex <[email protected]>
Co-authored-by: Claude Opus 5 <[email protected]>
pedronauck added a commit that referenced this pull request Aug 27, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Aug 28, 2026
Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>
pedronauck added a commit that referenced this pull request Sep 3, 2026
#490)

* feat: Terminal core and PTY substrate #1

Checkpoint via cy-loop-tasks (iteration 2, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Wire protocol and transport #2

Checkpoint via cy-loop-tasks (iteration 3, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Persistence, journal and observability #3

Checkpoint via cy-loop-tasks (iteration 4, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Agent surfaces exec tools and write path #4

* feat: Web terminal system #5

Checkpoint via cy-loop-tasks (iteration 6, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: Public activation tranche #6

Checkpoint via cy-loop-tasks (iteration 7, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* feat: render agent-reported terminal output

* feat: Windows ConPTY adapter #8

Checkpoint via cy-loop-tasks (iteration 9, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* fix: satisfy integrated terminal gate policies

* fix: normalize local gate classification

* fix: resolve integrated terminal review findings

* feat: QA Plan and Session Charters #9

Checkpoint via cy-loop-tasks (iteration 10, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>

* fix: preserve terminal workspace registration identity

* fix: complete integrated terminal QA remediation

* refactor: remove unused terminal exports

* fix: ui improvements

* fix: improvs

* fix: complete rebase integration

* fix: align product language

* fix: resolve Windows terminal executables

* test: stabilize Windows terminal reads

* test: drain Windows terminal startup output

* test: align reported terminal E2E contract

* fix: bind terminal browser ownership

* fix: stabilize terminal browser attachments

* fix: retry empty Windows terminal reads

* fix: preserve terminal sessions after creation

* fix: preserve terminal clipboard shortcuts

* test: align daemon harness profile resolution

* fix: harden terminal process shutdown

* fix: harden terminal approvals and agent guidance

* fix: harden terminal runtime lifecycle

* fix: unify terminal transport contracts

* fix: complete integrated terminal lifecycle

* build: regenerate integrated terminal contracts

* feat: rebuild integrated terminal window

Co-authored-by: Cursor <[email protected]>

* feat: rebuild integrated terminal journal

Co-authored-by: Cursor <[email protected]>

* feat: rebuild terminal input attention

Co-authored-by: Cursor <[email protected]>

* feat: rebuild terminal approval surfaces

Co-authored-by: Cursor <[email protected]>

* feat: rebuild session terminal blocks

Co-authored-by: Cursor <[email protected]>

* feat: rebuild terminal quote and settings

Co-authored-by: Cursor <[email protected]>

* docs: clarify estimated terminal journal boundaries

Co-authored-by: Cursor <[email protected]>

* fix: close integrated terminal host gaps

Co-authored-by: Cursor <[email protected]>

* fix: complete integrated terminal remediation

* fix: final review

* fix: close integrated terminal QA gaps

* fix: repair integrated terminal CI

* fix: stabilize integrated terminal CI

* fix: close integrated terminal web CI gaps

* fix: stabilize terminal detach chord

* test: stabilize loop event resume E2E

* ci: parallelize e2e lanes

* fix: close final web e2e races

* fix: close exact-head web e2e races

* fix: close exact-head e2e races

* test: stabilize terminal e2e fixtures

* fix: preserve semantic identity during retarget

* test: stabilize loop read E2E

* fix: stabilize integrated terminal and remove in-app tabs

Close is idempotent (exited terminals answer their recorded exit), the
stream client settles as closed instead of reconnecting a dead terminal,
size votes made before the socket opened are delivered on open, and the
fish shim rides vendor_conf.d without hiding the user's config. The web
terminal is window-native: one terminal per OS window, an id-less route
that adopts or creates, head-level Journal/New/Close verbs, and window
close never signals the PTY.

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: repair zsh markers and resolve terminals from fresh catalog truth

The zsh marker hooks shadowed zsh's read-only status parameter, killing the
precmd hook on every prompt and dropping every finish marker; a live zsh test
now pins the clean hook. The id-less terminal route waits for a catalog fetch
from this mount before adopting or creating, so a terminal opened moments
before the window cannot be missed and duplicated. Browser journeys walk the
window-native flow end to end, and the QA tracker records the walked verdicts.

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: dedupe worktrees spec imports after rebase

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: split protocol client wiring and align desktop terminal flow

Co-Authored-By: Claude Fable 5 <[email protected]>

* test: assert reattach liveness on the focused restored terminal

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: terminal fonts

* fix: render agent-internal commands as plain session output

Pull ADR-012 door 3 (`_meta.terminal_output`): the daemon no longer opts
into agent-reported terminal output, and the whole reported pipeline goes
with it — ACP ingestion and suppression, the `agent_reported` origin,
contract/stream payload fields, transcript codec/replay, acpmock steps,
and the web "reported by agent" xterm blocks. Agent-internal commands
render as plain command output again; the deliberate S3 supervised block
and the ACP pipe door stay untouched.

Co-Authored-By: Claude Fable 5 <[email protected]>

* feat: materialize agent-opened terminals as desktop windows

A daemon bridge observes terminal opened events and, for agent-actor
interactive PTY terminals (terminal_open, terminal_exec visible:true),
opens a managed Terminal window in the workspace window model — on the
desktop showing the bound session, never moving focus, one-shot per
terminal, deduped by instance key, and never failing the tool call.
Pipe terminals and human actors materialize nothing.

The transcript now recognizes real agent traffic: hosted-MCP tool names
(mcp__<server>__compozy__*) normalize to their native ids for the S3
supervised block and row labels, MCP string envelopes decode so
terminal_id reaches the block, and the remaining terminal tools carry
registered labels. E2E-003 asserts the window materializes without
stealing focus.

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: steer agents to the integrated terminal and refresh its truth surfaces

Terminal tool descriptors now lead with the desktop-window capability,
the official skill documents the windows contract and the
write-wait-read loop, and the site docs replace the agent-reported
block section with the plain-output and window-materialization truth.
QA tracker updated for ADR-019: the reported-terminal scenario is
deleted, affected scenarios were reset and re-walked with a real Haiku
agent in an isolated lab, and a new materialization scenario records
the walk (docs/qa/reports/2026-09-01-terminal-rework.md).

Co-Authored-By: Claude Fable 5 <[email protected]>

* ci: retrigger PR checks for the terminal rework head

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: renumber terminal migration and settle generated artifacts after rebase

Main's loop work took 00098/00099, so the workspace-deletion-intents
migration moves to the next gap-free version (00100), atlas.sum is
rehashed for the unpublished tail, and the SDK contract chunks
regenerate to the merged truth.

Co-Authored-By: Claude Fable 5 <[email protected]>

* fix: reconcile pointer actor and ahead sentinel after second rebase

Main's new loop tests construct ActionExecutionInput with a value actor
while this branch moved the field to *task.ActorContext; the merged call
sites now take the pointer. The global ahead-schema fixtures pinned
version 100, which the renumbered terminal migration just occupied —
they use the 999 sentinel the other streams already use.

Co-Authored-By: Claude Fable 5 <[email protected]>

* docs: increase deep review limits

* fix: remediate integrated terminal review

* test: align rebased suites with main contracts

* fix: repair rebased CI regressions

* fix: skill triggering

---------

Co-authored-by: Codex <[email protected]>
Co-authored-by: Cursor <[email protected]>
Co-authored-by: Claude Fable 5 <[email protected]>
carlosedsousa-dev added a commit to carlosedsousa-dev/compozy that referenced this pull request Sep 11, 2026
…ompozy#4

Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>
carlosedsousa-dev added a commit to carlosedsousa-dev/compozy that referenced this pull request Sep 11, 2026
…ompozy#4

Checkpoint via cy-loop-tasks (iteration 5, phase B mode=tasks).

Co-Authored-By: Codex <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant