feat(agentic-shell): freeze task object model + risk-based approval contract - #34
Merged
Merged
Conversation
…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.
27 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Integrates the buildable-now slice of the Agentic GitLab-Style Shell v0.1 spec into our owned
sourceos-shelllayer. 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-opsandhelper-causal-receipts).Schemas (draft 2020-12,
urn:srcos:*+schemas.sourceos.ai$id)schemas/agentic-task.schema.jsonschemas/agentic-workset.schema.jsonschemas/agentic-evidence-packet.schema.jsonschemas/agentic-recommended-action.schema.jsonState 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:riskRationale);medium/high-risk actions cannot reachapproved/executing/succeededwithout non-emptyapprovalRefs;high-risk also requires richer evidence (evidenceRefs);waiting_for_approvaltasks require non-emptyapprovalRequirements;Negative fixtures under
examples/agentic-shell/negative/prove the gate bites — CI (.github/workflows/agentic-shell.yml) asserts they fail, mirroring thehelper-causal-receiptsnegative-fixture pattern.Verified locally
ok: true)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.