Skip to content

PR07: add inventory target and own-app tutorial - #7

Merged
aniaisec merged 1 commit into
mainfrom
codex/adoption-pr07
Oct 9, 2026
Merged

aniaisec merged 1 commit into
mainfrom
codex/adoption-pr07

Conversation

@aniaisec

@aniaisec aniaisec commented Oct 9, 2026

Copy link
Copy Markdown
Owner

cua init --template inventory now creates an independent Stockroom project with no capabilities or approval receipts. The packaged inventory target and own-app tutorial take a fresh project through scripted discovery, draft refusal, review, approval, typed second-input lookup and a consented stock adjustment. An external HTTP oracle checks final quantities, commit counts and commit POSTs, including a cached sequential retry that creates no second adjustment.

Changes

  • Add the inventory app, starter configuration, family outcomes, recovery rules, policy, discovery scripts and shared scenario definition. Package the app as inventoryapp for installed use.
  • Cover missing-family preflight, invalid inputs, denied policy, consent mismatch/reuse, insufficient stock, validation faults, session expiry, renamed/ambiguous controls and changed-screen operator takeover/resume through existing runtime controls.
  • Replace the own-app guide with the runnable walkthrough and explain configuration fields, credential sinks, irreversible actions, locator/checkpoint review, failure detectors and second-input testing.
  • Extend distribution and fresh wheel/sdist checks, and add scripts/ci/test_pr07.ps1 for one-command local verification with logs, JUnit and a JSON summary.
  • Fix Windows test cleanup by stopping owned demo/inventory server process trees and retrying released directory locks for at most five seconds. Persistent cleanup failures still fail the gate.

Validation

The complete default PowerShell runner passed all 12 gates on Windows / Python 3.14.5:

  • Ruff lint/format and strict mypy for Linux and Windows (152 source files).
  • Full non-browser/non-desktop suite: 1,015 passed, 1 skipped (Windows symlink privilege).
  • Inventory browser suite with --require-browser: 11 passed, including simulated operator takeover and independent commit-oracle checks.
  • Wheel/sdist build and resource/metadata checks.
  • Fresh non-editable base wheel and sdist-built wheel environments outside the checkout, with PYTHONPATH removed and provider SDKs absent. Both run the existing seven-stage demo and inventory discovery/consent/retry scenario.

The five new cleanup regressions cover actual Windows directory locking and a descendant holding the workspace, plus bounded retry and failure preservation.

Scope

The sample uses synthetic credentials and process-local state and must bind to loopback. Routine verification makes no paid model calls. Interactive Windows UIA and live providers were not run. The retry scenario validates sequential invocations; concurrent/crash-safe invocation ownership remains later runtime work.

@aniaisec
aniaisec merged commit cb46455 into main Oct 9, 2026
18 checks passed
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