Skip to content

feat(agentic-shell): freeze task object model + risk-based approval contract - #34

Merged
mdheller merged 1 commit into
mainfrom
feat/agentic-gitlab-style-shell-object-model
Aug 3, 2026
Merged

feat(agentic-shell): freeze task object model + risk-based approval contract#34
mdheller merged 1 commit into
mainfrom
feat/agentic-gitlab-style-shell-object-model

Conversation

@mdheller

@mdheller mdheller commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

What

Integrates the buildable-now slice of the Agentic GitLab-Style Shell v0.1 spec into our owned sourceos-shell layer. The spec redesigns the GitLab group/project shell from navigation-first into a supervisory-control workspace for cross-repo agentic operations by making the task object first-class.

This PR implements the spec's Immediate next design steps #1 (freeze the task object schema) and #2 (define the approval/policy engine contract) as machine-readable contracts, following the repo's established schema + example + python-validator + per-contract CI pattern (as used by workspace-ops and helper-causal-receipts).

Schemas (draft 2020-12, urn:srcos:* + schemas.sourceos.ai $id)

Object Schema
Task schemas/agentic-task.schema.json
Workset schemas/agentic-workset.schema.json
Evidence packet schemas/agentic-evidence-packet.schema.json
Recommended action schemas/agentic-recommended-action.schema.json

State model (task + action states) and risk tiers (low/medium/high) are frozen per spec.

Teeth

Enforcement beyond JSON Schema in scripts/validate_agentic_shell.py:

  • every recommended action must state why it fell into its risk tier (riskRationale);
  • medium/high-risk actions cannot reach approved/executing/succeeded without non-empty approvalRefs; high-risk also requires richer evidence (evidenceRefs);
  • waiting_for_approval tasks require non-empty approvalRequirements;
  • content digests are SHA-256 (FIPS).

Negative fixtures under examples/agentic-shell/negative/ prove the gate bites — CI (.github/workflows/agentic-shell.yml) asserts they fail, mirroring the helper-causal-receipts negative-fixture pattern.

Verified locally

  • 6 positive examples pass (ok: true)
  • both negative fixtures fail with the correct invariant messages

Out of scope (filed as follow-up)

Desktop shell anatomy (5 persistent regions), layout spec, keyboard/accessibility model, primary workflows (group health audit / dependency update campaign / ownership remediation), preview/simulation + undo surfaces, and telemetry require a shell frontend + orchestration runtime that does not yet exist here. Tracked in a separate issue with acceptance criteria assigned to @mdheller.

See docs/agentic-gitlab-style-shell.md.

…ontract

Integrate the buildable-now slice of the "Agentic GitLab-Style Shell v0.1"
spec: make the task object first-class as machine-readable contracts with
enforcement teeth. Covers the spec's Immediate next design steps 1 (freeze the
task object schema) and 2 (define the approval/policy engine contract).

Schemas (draft 2020-12, urn:srcos:* + sourceos.ai $id conventions):
- agentic-task: goal, scope, policies, autonomyLevel, budget, owner, state,
  outputs, auditLog, confidenceSummary, approvalRequirements
- agentic-workset: task-scoped collection for comparison / batch action
- agentic-evidence-packet: the trust surface for findings/actions
- agentic-recommended-action: risk tier + rationale + action lifecycle state

Teeth (scripts/validate_agentic_shell.py, beyond JSON Schema):
- every action must state why it fell into its risk tier
- medium/high-risk actions cannot reach approved/executing/succeeded without
  non-empty approvalRefs; high-risk also requires richer evidence
- waiting_for_approval tasks require non-empty approvalRequirements
- content digests are SHA-256 (FIPS)
Negative fixtures under examples/agentic-shell/negative/ prove the gate bites;
CI (.github/workflows/agentic-shell.yml) asserts they fail.

Desktop shell anatomy, layout, keyboard model, workflows, preview/undo and
telemetry are UI/runtime work tracked in a follow-up issue.
@mdheller
mdheller merged commit 7684c3c into main Aug 3, 2026
3 checks passed
@mdheller
mdheller deleted the feat/agentic-gitlab-style-shell-object-model branch August 3, 2026 05:47
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