Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3692661
fix(agentctl): preserve job scratch inside devshells
Sinity Aug 24, 2026
a01c3bf
fix(noctalia): suppress full-height notification effect
Sinity Aug 24, 2026
f0efb49
perf(polylogue): bound verifier tmpfs to measured use
Sinity Aug 25, 2026
1827677
feat(agentctl): accept checkout alias for job workspaces
Sinity Aug 25, 2026
85c8e58
feat(agentctl): accept explicit task note text
Sinity Aug 25, 2026
4489239
fix(gateway): expose machine action revision
Sinity Aug 25, 2026
9f7371c
test(sinnixd): isolate scratch root in sandbox
Sinity Aug 25, 2026
a794629
docs(polylogue): record measured scratch peak
Sinity Aug 25, 2026
63df92f
feat(agentctl): reject incomplete packet results
Sinity Aug 25, 2026
369eb96
test(agentctl): cover real packet completion pair
Sinity Aug 25, 2026
ea2e796
fix(agentctl): coalesce active non-cacheable operations
Sinity Aug 25, 2026
b169974
fix(agentctl): gate delivery on exact-head evidence
Sinity Aug 25, 2026
2a2f30e
Make packet delivery runtime-authoritative
Sinity Aug 25, 2026
2bce733
Merge AgentCTL packet completion
Sinity Aug 25, 2026
99520cf
Accept obvious AgentCTL task query aliases
Sinity Aug 25, 2026
dd7b9f2
Add typed AgentCTL task metadata updates
Sinity Aug 25, 2026
e4697ad
Scope packet delivery to the full publication
Sinity Aug 25, 2026
794fb59
test(agentctl): compose packet sealing with delivery
Sinity Aug 25, 2026
a772913
test(runtime): distinguish active admission fixtures
Sinity Aug 25, 2026
eccb342
test(runtime): include job scratch in launch contract
Sinity Aug 25, 2026
47b9019
style(runtime): normalize consolidated control plane
Sinity Aug 25, 2026
12645c4
test(gateway): import legacy manifest schema from owner
Sinity Aug 25, 2026
039b02f
style(gateway): format parity import
Sinity Aug 25, 2026
4425cbd
fix(gateway): approve consolidated action catalog
Sinity Aug 25, 2026
9a0d2fe
fix(agentctl): close packet result hardening gaps
Sinity Aug 25, 2026
b12e048
fix(agentctl): bind agent jobs to project environments
Sinity Aug 25, 2026
34e8128
fix(agentctl): gate agent environment rollout
Sinity Aug 25, 2026
0f6b595
style(agentctl): format environment integration
Sinity Aug 25, 2026
3f0c680
test(agents): enforce Polylogue writer destination parity
Sinity Aug 25, 2026
dbfa55f
fix(agents): align Polylogue writers with service archive
Sinity Aug 25, 2026
3a58138
docs(agents): note Polylogue spool parity
Sinity Aug 25, 2026
5655187
fix(agents): derive Polylogue hook spool from config
Sinity Aug 25, 2026
1c68020
fix(agents): close Polylogue root parity gaps
Sinity Aug 25, 2026
8d3e12d
fix(agents): restore upstream Polylogue hook command
Sinity Aug 25, 2026
9584726
fix(agentctl): close environment rollout gaps
Sinity Aug 25, 2026
ea9753f
test(agentctl): cover every activating environment gate
Sinity Aug 25, 2026
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
1 change: 1 addition & 0 deletions .agentctl/project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ root_markers = ["flake.nix", "modules", "dots"]
[environment]
kind = "nix-develop"
command = ["nix", "develop", "--accept-flake-config", "--command"]
preflight = ["true"]
inherit = ["HOME", "USER", "LANG", "TERM", "SSH_AUTH_SOCK", "XDG_RUNTIME_DIR", "DBUS_SESSION_BUS_ADDRESS", "WAYLAND_DISPLAY", "DISPLAY"]
unset = ["PYTHONPATH", "PYTHONHOME", "VIRTUAL_ENV", "_PYTHON_SYSCONFIGDATA_NAME", "_PYTHON_HOST_PLATFORM", "PYTHONPYCACHEPREFIX"]

Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ local data systems, and frequent operational changes.
| Area | Current scope |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Workstation | Hyprland and Noctalia desktop, Home Manager configuration, GPU modes, audio, terminal capture, local AI services, development environments, and desktop applications |
| Services | typed service inventory, systemd resource classes, monitoring, and common policy for user and system units |
| Services | typed service inventory, systemd resource classes, monitoring, and common policy for user and system units |
| Local data | Sinex, Polylogue, Lynchpin, ActivityWatch, machine telemetry, shell history, and terminal recordings |
| Storage and recovery | impermanence, explicit persistence, Btrfs snapshots, Borg archives, restore drills, and separate treatment for durable, rebuildable, and bulk data |
| Agent tooling | shared instructions and skills, generated MCP profiles, browser and desktop control, local model backends, and a trusted repository gateway |
Expand Down Expand Up @@ -131,15 +131,15 @@ nix develop

Common commands:

| Command | Purpose |
| ------------- | ----------------------------------------------------------------------------- |
| `check` | run the curated default verification tier sequentially |
| `lint` | run static Nix and shell checks without modifying files |
| `format` | format supported source with treefmt |
| Command | Purpose |
| ------------- | ------------------------------------------------------------------------------ |
| `check` | run the curated default verification tier sequentially |
| `lint` | run static Nix and shell checks without modifying files |
| `format` | format supported source with treefmt |
| `switch` | build and activate the workstation through the shared lock and resource policy |
| `boot` | build and register the next boot generation without activating it |
| `test-system` | test activation without changing the boot default |
| `test-vm` | build the NixOS VM smoke test |
| `boot` | build and register the next boot generation without activating it |
| `test-system` | test activation without changing the boot default |
| `test-vm` | build the NixOS VM smoke test |

Direct commands stay direct. Submit scheduled or heavy work as a named
AgentCTL project operation; `switch` remains the supported activation command.
Expand Down
98 changes: 49 additions & 49 deletions docs/agent-environment.md

Large diffs are not rendered by default.

101 changes: 53 additions & 48 deletions docs/agent-gateway.md

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions docs/agent-hook-parity.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Agent hook parity

This matrix records the current boundary between Claude Code and Codex hooks. It is reviewed against the generated Codex file at each configuration change.
This matrix records the current boundary between Claude Code and Codex hooks. It is reviewed against the generated Codex file at each configuration change, including the configured primary Polylogue hooks spool shared by every writer.

| Capability | Claude Code | Codex | Evidence and action |
| --- | --- | --- | --- |
| Session start and resume | Enforced | Enforced | Both clients run configured recall and Polylogue session capture. |
| User prompt capture | Enforced | Enforced | Both clients send `UserPromptSubmit` to Polylogue. |
| Pre-compaction handoff | Enforced | Enforced | Both clients run `sinnix-context-handoff`. |
| Tool-use evidence | Enforced | Enforced | Both clients send tool events to Polylogue. |
| Stop capture | Enforced | Enforced | Both clients capture the stop event through Polylogue. |
| Agent model dispatch guard | Enforced | Manual | Claude has the structured `Agent` matcher and `pretooluse-agent-model.sh`; Codex applies the explicit-model contract at AgentCTL launch. |
| Destructive Bash guard | Enforced | Manual | Claude has the structured `Bash` matcher and `pretooluse-bash.sh`; Codex follows the shared Git protocol. |
| Capability | Claude Code | Codex | Evidence and action |
| -------------------------- | ----------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Session start and resume | Enforced | Enforced | Both clients run configured recall and Polylogue session capture. |
| User prompt capture | Enforced | Enforced | Both clients send `UserPromptSubmit` to Polylogue. |
| Pre-compaction handoff | Enforced | Enforced | Both clients run `sinnix-context-handoff`. |
| Tool-use evidence | Enforced | Enforced | Both clients send tool events to Polylogue. |
| Stop capture | Enforced | Enforced | Both clients capture the stop event through Polylogue. |
| Agent model dispatch guard | Enforced | Manual | Claude has the structured `Agent` matcher and `pretooluse-agent-model.sh`; Codex applies the explicit-model contract at AgentCTL launch. |
| Destructive Bash guard | Enforced | Manual | Claude has the structured `Bash` matcher and `pretooluse-bash.sh`; Codex follows the shared Git protocol. |

The generated Codex configuration is the authority for Codex-supported rows. This document is a parity record, not a second hook registry.
32 changes: 16 additions & 16 deletions docs/agent-skill-executables.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

This audit records every executable beneath `dots/_ai/skills`. AgentCTL is the only retained lifecycle owner. The allowed native runner is a private argv translator called by Sinnixd; no skill executable owns job state, cancellation, retries, manifests, or process cleanup.

| Executable | Positive caller | Retained role |
| --- | --- | --- |
| `orchestrate/scripts/build_plan_batch_prompts.py` | `orchestrate` skill | Writes operator-reviewed prompt files only. |
| `orchestrate/scripts/probe_agent_runtime.sh` | `orchestrate` skill and runtime-modes reference | Direct vendor and quota availability probe. |
| `agent-runtime/scripts/run_agent_prompt.sh` | Sinnixd service contract | Private backend argv translator for an attested job. |
| `chatgpt-conversations/scripts/sinnix-chatgpt-conversations` | `chatgpt-conversations` skill | Read-only conversation extraction from the shared browser. |
| `desktop-control-plane/scripts/chrome-control.sh` | Agent module and desktop-control-plane skill | Visible browser UI helper. |
| `desktop-control-plane/scripts/hypr-control.sh` | Agent module and desktop-control-plane skill | Visible window-manager UI helper. |
| `desktop-control-plane/scripts/keyboard-control.sh` | Agent module | Explicit keyboard UI helper. |
| `desktop-control-plane/scripts/kitty-remote-control.sh` | Agent module and desktop-control-plane skill | Visible terminal UI helper. |
| `desktop-control-plane/scripts/screenshot-color-lab.sh` | Agent module and capture registry | Screenshot and display diagnostic helper. |
| `grok/scripts/partition_by_size.sh` | `grok` skill | Measured source partitioning for a code audit. |
| `html-report/generators/embed-path-popups.py` | `html-report` skill | HTML report navigation generator. |
| `investigate/scripts/freeze.sh` | `investigate` skill | Evidence preservation before recovery mutation. |
| `investigate/scripts/recover-probe.sh` | `investigate` skill | Read-only recovery authority probe. |
| `skill-authoring/scripts/validate_skill.py` | `skill-authoring` skill and agent-tools check | Skill metadata and structure validation. |
| Executable | Positive caller | Retained role |
| ------------------------------------------------------------ | ----------------------------------------------- | ---------------------------------------------------------- |
| `orchestrate/scripts/build_plan_batch_prompts.py` | `orchestrate` skill | Writes operator-reviewed prompt files only. |
| `orchestrate/scripts/probe_agent_runtime.sh` | `orchestrate` skill and runtime-modes reference | Direct vendor and quota availability probe. |
| `agent-runtime/scripts/run_agent_prompt.sh` | Sinnixd service contract | Private backend argv translator for an attested job. |
| `chatgpt-conversations/scripts/sinnix-chatgpt-conversations` | `chatgpt-conversations` skill | Read-only conversation extraction from the shared browser. |
| `desktop-control-plane/scripts/chrome-control.sh` | Agent module and desktop-control-plane skill | Visible browser UI helper. |
| `desktop-control-plane/scripts/hypr-control.sh` | Agent module and desktop-control-plane skill | Visible window-manager UI helper. |
| `desktop-control-plane/scripts/keyboard-control.sh` | Agent module | Explicit keyboard UI helper. |
| `desktop-control-plane/scripts/kitty-remote-control.sh` | Agent module and desktop-control-plane skill | Visible terminal UI helper. |
| `desktop-control-plane/scripts/screenshot-color-lab.sh` | Agent module and capture registry | Screenshot and display diagnostic helper. |
| `grok/scripts/partition_by_size.sh` | `grok` skill | Measured source partitioning for a code audit. |
| `html-report/generators/embed-path-popups.py` | `html-report` skill | HTML report navigation generator. |
| `investigate/scripts/freeze.sh` | `investigate` skill | Evidence preservation before recovery mutation. |
| `investigate/scripts/recover-probe.sh` | `investigate` skill | Read-only recovery authority probe. |
| `skill-authoring/scripts/validate_skill.py` | `skill-authoring` skill and agent-tools check | Skill metadata and structure validation. |
Loading
Loading