SCE md standard#154
Open
davidabram wants to merge 21 commits into
Open
Conversation
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
force-pushed
the
sce-md-standard
branch
from
July 24, 2026 14:05
c4f4919 to
4c214ad
Compare
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>
davidabram
force-pushed
the
sce-md-standard
branch
from
July 24, 2026 21:23
31df62f to
645358f
Compare
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.
No description provided.