Skip to content

SCE md standard#154

Open
davidabram wants to merge 21 commits into
mainfrom
sce-md-standard
Open

SCE md standard#154
davidabram wants to merge 21 commits into
mainfrom
sce-md-standard

Conversation

@davidabram

Copy link
Copy Markdown
Member

No description provided.

davidabram and others added 16 commits July 24, 2026 16:01
Introduce config/pkl/base/instruction-unit-inventory.pkl as the single
authoritative source for the instruction-unit standardization effort.
Derived from shared-content.pkl and shared-content-automated.pkl (no
parallel hand-maintained list), it exposes the required nine-section
body contract, optional Reference/Examples sections, unit kinds,
per-profile OpenCode/Claude/Pi and root-mirror destinations, profile
status, and records known stale entries (drift-detect, fix-drift,
manual interactive-planning units) and broken references
(context/plans/n.md) as data only.

Co-authored-by: SCE <sce@crocoder.dev>
…tputs

Introduce config/pkl/base/instruction-unit-templates.pkl as the single
authoring source for the contributor-facing agent, command, and skill
templates. Section headings and order are derived from the section
contract in instruction-unit-inventory.pkl (requiredSections +
optionalSections), so templates cannot drift from the standard nine-
section order by hand — only per-section guidance and OpenCode-flavored
frontmatter are authored. Guidance is standardized from the read-only
sce-opencode-standardization/templates reference bundle.

Wire generate.pkl to emit templates/agent.md, templates/command.md, and
templates/skill.md at the repository root. Parity-check wiring for these
root outputs is deferred to T10, so pkl-check-generated does not yet
drift-guard them.

Co-authored-by: SCE <sce@crocoder.dev>
…ale entries

Renderer metadata maps were hand-maintained and drifted from the canonical
instruction-unit inventory. Key each per-unit metadata map off slug-keyed
per-kind views (manual/automated {Agents,Commands,Skills}) added to
instruction-unit-inventory.pkl, so keys come from a single authoritative
source and a missing value fails at eval time.

Remove the truly-orphaned drift-detect/fix-drift skill-chain blocks from
common.pkl and opencode-content.pkl, and empty the resolved staleEntries.
Reclassify change-to-plan-interactive/sce-plan-authoring-interactive as
active-in-automated (consumed via the shared common.pkl maps) rather than
stale; only the manual-only opencode-metadata.pkl surface drops
sce-plan-authoring-interactive. Move the manual OpenCode plan agent to
bash: ask for least privilege; Claude plan agent retains shell access per
direction.

Co-authored-by: SCE <sce@crocoder.dev>
Reorganize the two manual canonical agent bodies (shared-content-plan,
shared-content-code) into the standardized nine-section contract
(Purpose, Inputs, Preconditions, Workflow, Guardrails, Outputs,
Completion criteria, Failure handling, Related units), preserving role
startup, approval, orchestration, completion, and escalation behavior
without duplicating skill procedures.

Drop the Pi renderer's act-as-role/`$ARGUMENTS` preamble in
pi-content.pkl so the prompt body is the canonical body verbatim,
beginning at `## Purpose`; role activation is carried by the frontmatter
`description`/`argument-hint`. Regenerate the six config/root OpenCode,
Claude, and Pi agent outputs and hand-sync the root mirrors.

Co-authored-by: SCE <sce@crocoder.dev>
Rewrite the five manual commands (change-to-plan, commit, handover,
next-task, validate) as thin argument-normalizing, skill-routing
adapters expressed under the nine canonical sections. Update the pkl
canonicalBody sources and regenerate the OpenCode, Claude Code, and Pi
config outputs plus their root mirrors. Behavior is preserved,
including commit's dual regular/oneshot-skip modes.

Co-authored-by: SCE <sce@crocoder.dev>
Port all eight manual canonical skills (sce-atomic-commit, sce-bootstrap-context,
sce-context-sync, sce-handover-writer, sce-plan-authoring, sce-plan-review,
sce-task-execution, sce-validation) to the standard nine-section body contract,
preserving procedures, schemas, output contracts, and failure semantics. Reusable
material moves under the optional Reference section.

Resolve the former context/plans/PLAN_EXAMPLE.md (plans/n.md) broken reference by
embedding the annotated plan shape inline under sce-plan-authoring's Reference
section; empty the now-resolved brokenReferences in the instruction-unit inventory.

Co-authored-by: SCE <sce@crocoder.dev>
…tandard

Rewrite two automated agents and six commands while preserving deterministic routing and
 safe-stop behavior. Block plan-agent shell access to match its guardrails and regenerate
 the corresponding OpenCode outputs.

Co-authored-by: SCE <sce@crocoder.dev>
Rewrite all nine automated OpenCode skills to the canonical nine-section structure while
preserving deterministic profile-specific procedures and failure behavior.

Co-authored-by: SCE <sce@crocoder.dev>
Validate all 62 rendered instruction units with target-aware frontmatter,
canonical section, skill identity, and OpenCode skill-reference rules.
Add focused fixtures covering valid profiles and ten invalid cases.

Co-authored-by: SCE <sce@crocoder.dev>
Generate tracked root instruction mirrors and templates,
validate committed instruction files, and extend
parity checks across all generation-owned paths.

Co-authored-by: SCE <sce@crocoder.dev>
Record instruction-unit-standardization-all-harnesses T11 and SC13 as deferred to human
follow-up. Remove the Pkl workflow README while retaining canonical authoring guidance in
durable context.

Co-authored-by: SCE <sce@crocoder.dev>
…licy

Replace the canonical agent/command model with execution profiles,
workflows, and profile-free skills in both manual and automated
aggregations. Bodies are authored as typed InstructionBody sections
serialized by one renderBody boundary; ExecutionProfile owns broad
invocation policy, allowed skills, and a harness-neutral ToolPolicy
ceiling, while WorkflowUnit binds a profile plus entry/required skills
and may only narrow that ceiling. Effective approvals follow
(profile approvals ∪ workflow approvals) ∩ workflow allowed.

Add section-aware nativeAgentBody/composeProfile helpers with a
deterministic profile marker and generated skill relationships, a
focused portable-execution-profile-check renderer gate, and
synchronized generated OpenCode/Claude/Pi carriers, root mirrors,
contributor templates, and root context. Plan/code profile policy is
now broad and workflow-neutral; one-task behavior stays in
next-task/sce-task-execution.

Co-authored-by: SCE <sce@crocoder.dev>
Model each canonical instruction unit with logical kind
`execution-profile`/`workflow`/`skill` and a list of explicit
`Projection` records carrying target, carrier, profile binding,
tool/semantic control strength, generated destination, and optional
root mirror. Drop `UnitDestinations`, `unit.targets`, and the fixed
`agent`/`command`/`skill` kind strings in favor of projection-derived,
path-sorted 60 generated + 43 mirror collections plus duplicate-target
detection.

Manual profiles now project only to OpenCode/Claude native agents;
workflows and skills retain OpenCode/Claude/Pi coverage; automated
units remain OpenCode-only with no root mirror. The two still-generated
Pi `agent-*` prompts are no longer approved projections and stay
parity-owned until T08 removes their renderer/generator paths.

Co-authored-by: SCE <sce@crocoder.dev>
… policy

Replace target-owned permission/skill/agent metadata maps with
capability-derived rendering. OpenCode profile agents become primary
with permission blocks translated from canonical ToolPolicy; workflow
commands derive agent, entry-skill, ordered skills, subtask: false,
and effective permissions from canonical workflow/profile data. Claude
keeps native profile agents for explicit activation while normal
commands compose profile policy into the workflow body and derive
allowed-tools from effective capabilities via a Claude-only
translation.

Co-authored-by: SCE <sce@crocoder.dev>
… contract

Pi workflow prompts now render canonical `composeProfile(...)` bodies with a
target-specific precondition to read `.pi/skills/{entrySkill}/SKILL.md` fully
before acting, and the transitional `agent-shared-context-*` Pi prompts are
removed from both config and root trees with no compatibility wrappers.

Co-authored-by: SCE <sce@crocoder.dev>
Normalize Claude and Pi collections before keyed access and update the helper fixture to
satisfy the OpenCode primary-agent contract. Record successful regeneration, parity,
model, and flake validation.

Co-authored-by: SCE <sce@crocoder.dev>
davidabram and others added 5 commits July 24, 2026 16:33
Drop the four generated Claude profile agent files and the Claude
profile-agent renderer/metadata surface so Claude receives profile
policy only through composed workflow commands. Update the projection
inventory, instruction-unit and portable-profile validators, and the
generated-output parity gate to the new 58/41/99 path counts and
reject stale Claude agent paths. Synchronize durable context with the
composed-command-only Claude topology.

Co-authored-by: SCE <sce@crocoder.dev>
Remove HTML markers from composed workflow projections and validate canonical
profile content directly. Enforce explicit OpenCode Bash and skill permissions,
retain workflow-specific commit approval, regenerate affected outputs, and
document the validated cross-harness contract.

Co-authored-by: SCE <sce@crocoder.dev>
Preserve the no-write implementation gate and resolve post-sync
continuation by plan order and dependency state across all
manual harness projections.

Co-authored-by: SCE <sce@crocoder.dev>
Render denied tool and skill permissions using
OpenCode's supported `deny` action, and align
generated projections and validation checks.

Co-authored-by: SCE <sce@crocoder.dev>
Give every normative rule one authoritative section. composeProfile now
amends the workflow body and overrides only Preconditions, Guardrails,
and Failure handling with the profile fragment, leaving Purpose, Inputs,
Workflow, and Outputs exactly as authored. Related Units become
metadata-derived (bound profile, entry skill, then remaining required
skills) with authored relatedUnits reduced to non-derivable extras;
OpenCode native workflows render nativeWorkflowBody so they carry the
same derived relations. Removes the dead sharedSce* baseline constants
and regenerates every next-task/change-to-plan/commit/handover/validate
projection, shrinking committed instruction Markdown by ~390 lines.

Co-authored-by: SCE <sce@crocoder.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant