Skip to content

Release: dev -> main - #293

Merged
EdwardIrby merged 689 commits into
mainfrom
dev
Apr 16, 2026
Merged

EdwardIrby merged 689 commits into
mainfrom
dev

Conversation

@github-actions

@github-actions github-actions Bot commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Context

This is the human-gated release PR from dev to main.

Summary

Release dev into main after the release-readiness packet reported no P0/P1 blockers.

Release notes draft: Includes 21 effective unreleased commits from 55d8fba3a636afaf4bec1900707b2d7f8ded4217..origin/dev. See deterministic lists below.

Changed Files

Changed surfaces from the readiness packet:

  • .agents
  • .github
  • README.md
  • bin
  • bun.lock
  • dev-research
  • docs
  • package.json
  • scripts
  • skills
  • src

Included PRs from the readiness packet:

Validation

Release-readiness validation summary:

  • Dev checks collection status: available
  • Dev SHA: d72d662793bfd0b21b9113eb8918310ff4a252c4
  • Checks waited seconds: 75
  • Check-runs total: 3
  • Failures: 0
  • Pending: 0
  • Neutral/skipped/stale: 0
  • Ignored release operator checks: 1
  • Security token source: release-readiness-secret
  • CodeQL collection status: available
  • Dependabot collection status: available
  • Secret-scanning collection status: available
  • CodeQL default-setup status: available
  • CodeQL query suite: extended
  • Secret-scanning open alert count: 0
  • Dependabot open alerts by severity: {}
  • CodeQL open alerts by severity: { "medium": 2 }

Workflow evidence:

  • Release-readiness issue Release readiness: dev -> main #250 reports ready: true and risk_level: none.
  • Open-release PR dry-run passed before the real run.
  • Open-release PR real run created this PR and did not merge or publish.

Known Failures / Drift

  • No P0/P1 blockers are recorded in the readiness packet.
  • Two medium CodeQL alerts remain and are not release blockers in the current policy.
  • This PR was created by workflow automation, so it was manually closed/reopened once to trigger required pull_request checks; follow-up issue Fix release PR check triggering from workflow-created PRs #294 tracks the durable fix.

Review Notes / Residual Risks

  • This PR must be reviewed and merged by a maintainer.
  • The workflow does not auto-merge and does not publish.
  • After this PR is squash-merged into main, sync main back into dev with a merge commit.
  • Never reset/rebase/force-push dev.

Agent Workflow Checklist

  • Release-readiness issue is current for the release source SHA.
  • Release-readiness reports ready: true.
  • Release-readiness reports risk_level: none.
  • Release PR targets main from dev.
  • No auto-merge was performed.
  • No publish was performed.
  • Maintainer reviewed and merged this release PR.
  • Post-release main -> dev sync merge commit completed.

- chunks.jsonl: 141 source chunks from Structural-IA.md, Modnet.md,
  MODNET-IMPLEMENTATION.md with provenance links (sourcePath, heading,
  headingPath, kind)
- source-compare.json: 30 deterministic pairs linking skill docs to
  chunks with sharedTerms, scores, and preserve/reinterpret/archive
  disposition
- encoded/manifest.json: manifest linking corpus to seed anchors

Corpus artifacts align to mss-seed anchors (five fields, invariants,
scale-structure maps) and provide graph-ready inputs for downstream
behavioral-factories lane.
Wrap MSS autoresearch entrypoints with varlock.

Keep judges and promotion selection on the same secret env as Pi.

Remove committed seed and corpus outputs before the sandbox rework.
Block nested autoresearch and canonical repo-root bash targets.

Keep worktree-local writes allowed.

Pass the canonical repo root into the Pi guard and expand targeted tests.
Add behavioral-seed and behavioral-corpus lane programs and
script entrypoints, wire behavioral-factories into lane
evaluation, tighten workspace-improvement judge context, and
move constitution governance framing into skill references.

Also remove the stale Modnet human CLI spec and collapse its
live workflow guidance into the training-prompts program.
Remove docs/MODNET-IMPLEMENTATION.md and move the remaining
modnet topology, A2A, and access-control guidance into the
modnet-node skill and its references.

Update the MSS research lanes and supporting docs to point at
those skill surfaces instead of the removed design doc.

Also keep the in-flight semantic lane validation changes and
modnet-modules asset cleanup in the same commit so the repo
state remains internally consistent.
Add research program surfaces for agent-loop, node-auth,
project-isolation, and proactive-node so the exploratory
architecture can evolve separately from the stable skill
contracts.

Trim the skills toward durable guidance and move the still
experimental policy questions into dev-research programs.
Align the behavioral seed and corpus lanes with the newer
MSS-style evaluation flow by adding graders, verifiers, and
updated validation coverage.

Reposition trial-runner and trial-adapters as public improve
surfaces, remove the stale training-pipeline skill, and fold the
relevant direction into evolutionary-agent and training docs.

Soften constitution reference prose to treat factory patterns,
generated bThread structure, and MAC rules as current baselines
and starting points rather than final doctrine.
Remove the retired MSS and behavioral seed/corpus runner surfaces from the active
operator path. Keep behavioral-factories as the single autoresearch lane and
wire retained seed/corpus artifacts directly into its validation and eval flow.

Add optional skill tags for behavioral-factories, expose hypergraph search to
Pi, judge, and meta-verifier, and add lightweight runner progress logging for
long 50-attempt fanout runs.
Tighten the behavioral-factories judge and verifier prompts,
expand their read roots, and coerce common malformed
hypergraph tool arguments so evaluation fails less often on
tool-shape issues alone.

Also reject malformed grader outputs during evaluation so
invalid pass/score records no longer poison summaries or
promotion decisions.
Reframe the behavioral-factories lane around git-backed
markdown and code memory, worktree-first rollout, durable
commit-derived memory projection, and deterministic
validation.

Treat hypergraph artifacts as optional retrieval accelerators
rather than the primary memory substrate, and prefer
executable TypeScript factories for real runtime surfaces.
Document the engine-versus-policy boundary, the git-backed
memory model, the worktree-first rollout model, and the
agent lifecycle guiding the upcoming src/agent refactor.

Also record the current refactor decisions in a root-level
notes file so the architecture can be resumed cleanly even
if working context is compacted.
Update the behavioral-factories program and refactor notes
to use the current factory-first vocabulary, the minimal
create-agent shape, and the behavioral runtime SQLite
direction.

This also clarifies that factories install through trigger
and useSnapshot, while spawners own ids and disconnect
remains an event rather than the primary imperative API.
Update the behavioral factories program and root refactor notes.

Reflect the latest create-agent contract, runtime SQLite event
direction, and the agreed src/runtime trim boundary before the
agent rewrite work.
Introduce bootstrap as a first-class public setup boundary and stop
exporting runtime from the package root.

Move createLink ownership and tests onto the agent surface, keep a
temporary runtime shim, and remove the old runtime wrapper dependency
from the live createNode bootstrap path.
Drop the remaining PM and team orchestration wrappers, managed team
composition path, and persisted team-hub attempt DAG surface from
runtime.

This leaves runtime as a thin compatibility layer around link-related
types and schemas while the agent rewrite becomes the next primary
refactor step.
Introduce the new create-agent and spawn-agent surfaces, plus the
minimal core types, schemas, and event constants they require.

Keep the legacy agent exports temporarily so internal consumers can
migrate in smaller steps while the new core becomes the preferred
public contract.
Relocate the OpenAI-compatible model adapter and its tests into
the new inference surface.

Keep an agent-side compatibility re-export for now and expose
inference from the root package barrel.
Remove the superseded agent-side OpenAI compat test file now
that the adapter test lives under src/inference/tests.
Add the update_factories core event and teach createAgent to
load and install executable factory modules at runtime.

Cover the seam with a focused create-agent test and fixture
that proves a newly installed module can handle later events.
Clarify that async handlers are acceptable while control-flow-heavy
useFeedback orchestration is the real BP anti-pattern to avoid.

Also tighten the module-boundary rule to forbid duplicate internal
barrels when the outer boundary file already exists.
Add the first promoted factory under src/factories and expose it
through the root factories boundary.

This extraction replaces the earlier control-flow-heavy inference
handler with explicit inference lifecycle events and focused tests.
Promote the context_ready, gate, and execute slice from the
legacy loop into a dedicated factory under src/factories.

Keep simulation and evaluation separate for now while covering
direct execute, simulate routing, and constitution rejection.
Promote the simulate_request and evaluation slice from the
legacy loop into a dedicated factory under src/factories.

Keep the simulation and evaluation phases as explicit events and
cover both approval and rejection behavior with focused tests.
Remove the in-process distillation adapter and its test now that
the evolutionary-agent direction has replaced that path.

This also removes one more direct dependency on createAgentLoop.
Record the clarified blocker for removing create-agent-loop.

create-node does not justify widening the new create-agent contract.
useSnapshot is sufficient to replace the old subscribe-based observation
paths, while the real blocker is the remaining missing factory coverage
for task intake, context assembly, history/message emission, memory,
and proactive orchestration.
EdwardIrby and others added 19 commits April 14, 2026 21:51
Add maintainer-only agent intake guidance to bug and feature issue forms.

Keep automatic issue template labels limited to low-trust triage labels.

Update template chooser links to reinforce issue-based intake and maintainer triage.
* docs(skills): add kanban sidebar planning reference

* docs(skills): refine kanban sidebar planning template
* feat(tooling): add issue planning ingestion CLI and shared --human rendering

Add first-class `--human` support to the shared JSON CLI utility by extending
`CliFlags`, help text, parsing, and `makeCli` rendering behavior.

Add a new read-only `agent:issues:plan` script that reads GitHub issues via `gh`,
applies label-gated planning eligibility, generates trust-bounded Kanban planning
prompts, and optionally writes deterministic prompt files.

Add coverage for shared CLI `--human` behavior and the issue planning ingestion
matrix (eligibility, trust boundaries, schema/help/dry-run contracts, renderer,
and output path determinism), and update plaited-development skill guidance.

* fix(tooling): harden untrusted prompt fences and human summary

Use dynamic markdown fence lengths for issue body/comment blocks so untrusted
content containing tildes/backticks cannot break out of fenced sections in
generated planning prompts.

Expand human renderer output to include card taxonomy hints and output paths for
operator review. Add regression coverage for fence-escape attempts and updated
human summary expectations.
* chore(scripts): remove pi program tooling

Remove obsolete Pi-backed autonomous script layer, package aliases, tests, and dependency.

Document issue-backed Kanban as the replacement lane for dev-research program work.

* docs(skills): rewrite autoresearch workflow skill

Replace historical and PI-oriented framing with a forward-looking operator guide.

Keep content focused on current CLI surfaces and present-tense workflow guidance.
* feat(tooling): add dry-run issue lifecycle planner

Add agent:issues:lifecycle as a read-only planner that computes
label/comment mutations for issue-backed lifecycle transitions.

Keep shared JSON CLI behavior with --schema, --dry-run, and --human.
The planner only reads issue labels (when needed) via gh issue view and
never runs mutation commands.

Add transition/unit/CLI schema tests and update plaited-development skill
docs with lifecycle dry-run guidance and a dedicated reference.

* fix(tooling): align lifecycle planner contract

Align lifecycle output with machine-facing proposed fields and include
wouldCloseIssue on every response.

Accept resolution=full as canonical with fully-resolved alias support.
Default omitted completed resolution to unknown with warnings and
remove needs-triage during full completion planning.

Update tests and lifecycle guidance docs to match the corrected
contract and transition rules.
* chore(research): remove old research orchestrators

Remove repo-native autoresearch/program orchestration CLI surfaces and
associated skill guidance, keeping only compare-trials, eval, and CLI utils.

Delete dev-research/default-modules after migrating useful server-module
intent into a scoped GitHub eval issue (#258), and update stale links that
pointed to the removed lane.

Also update the test runner's serial list to drop deleted autoresearch tests.

* docs(research): fix backlog routing wording in module programs
* docs(research): migrate dev research to kernel backlog

* docs(readme): remove retired program lane references
* feat(tooling): add issue cline executor

* fix(tooling): avoid long prompt argv in agent executor

* fix(tooling): protect executor prompt from commits
…273)

* docs(eval): add server-module scenario eval rubric and artifact contract

Refs #258

Defines:
- Selected behavior surface: websocket auth/origin/upgrade + reconnect/replay
- 10 concrete scenarios with expected outcomes and fail classes
- Scoring rubric with required/optional dimensions and promotion thresholds
- Artifact schemas (summary.json, results.jsonl, scenario diagnostics)
- Validation command contract (current + desired gap)
- Follow-on card/autoresearch issue template inputs
- Baseline run output and example artifact snippets

* docs(skills): move server module eval contract into skill reference
* fix(tooling): require PR template headings in executor prompts

* fix(tooling): harden issue executor PR prompts
* feat(tooling): add explicit issue lifecycle apply mode

* fix(tooling): require agent-ready for lifecycle apply mutations
Allow `agent:execute` dry-run eligibility when `agent-active` is present, as long as
`agent-execute` authorization is present and blocking lifecycle labels are absent.

Also add `agent-done` as an explicit execution blocker and split planning-vs-execution
prompt rendering so direct execution prompts no longer include Kanban sidebar planning
instructions.

Update docs and tests to keep the lifecycle/execution contract aligned.
* feat: add BP-mediated inference bridge skeleton

Implement the foundational seam for routing executor-originated inference
traffic through behavioral programming so future policy, MSS, and eval work
can attach to real trajectories.

Acceptance criteria delivered:
- Generic executor-originated inference request type with requestId/correlationId
  and executor metadata
- Fakeable upstream adapter type (InferenceAdapter interface)
- BP-mediated execution using behavioral(), trigger(), and useSnapshot()
- Default behavior is transparent/pass-through (no blocking, mutation, redaction)
- Future policy seam where bThreads/extensions can attach before execution
- Bridge event records and normalized BP snapshot records emitted/returned
- Eval-compatible trajectory mapper and artifact shape
- Focused Bun tests for pass-through success, request correlation, policy seam
  participation, upstream failure, and eval mapping

Refs #276

* fix(inference): remove unused error fallback assignment
Set `agent:execute` non-dry-run behavior to autonomous/headless by default via
`interactiveApproval:false` and `-y` cline invocation.

Deprecate `allowYolo` as an input knob by rejecting it with an explicit validation
message that points operators to `interactiveApproval:true` for attended runs.

After successful Cline execution, detect plaited PR URLs from executor logs/artifacts
and auto-apply `cline-review`, `agent-ready`, and source issue `card/*` labels.

When PR labeling fails after PR detection, persist failure details in result artifacts,
append warnings, and fail the command to preserve review-gate hygiene.

Update issue executor docs/skill references and expand executor tests for headless mode,
interactive escape hatch behavior, PR detection/labeling success, no-PR cases, and
labeling failure semantics.
…H-281) (#292)

* docs: add plaited-eval and plaited-eval-adapters skills

* docs: add PR pre-flight checklist to plaited-development skill
…xture smoke tests (#289)

* docs(eval): document external artifact contract and add CLI schema/fixture smoke tests

Refs #281

- Document external artifact contract for demo repos integrating with plaited eval
- Add smoke tests for CLI schema discovery via bunx plaited --schema/eval --schema
- Add smoke tests for fixture eval and compare-trials flow
- eval-artifact-contract.md lives in skill references per documentation guidelines

* fix(tests): use bun ./bin/plaited.ts instead of bunx plaited for repo-local testing

bunx plaited requires global/link installation which CI does not have.
Using ./bin/plaited.ts for reliable repo-local smoke testing.

Refs #281

* fix(tests): use crypto.randomUUID() for secure temp dir names

Replaces Date.now() with crypto.randomUUID() in temp directory creation
to avoid CodeQL "Insecure creation of file in os temp dir" warnings.

Refs #281
@EdwardIrby

Copy link
Copy Markdown
Member

Reopening to trigger required pull_request checks after workflow-created release PR.

@EdwardIrby EdwardIrby closed this Apr 16, 2026
@EdwardIrby EdwardIrby reopened this Apr 16, 2026
@EdwardIrby
EdwardIrby merged commit f2dbc1e into main Apr 16, 2026
11 of 12 checks passed
@EdwardIrby EdwardIrby mentioned this pull request Apr 16, 2026
11 tasks
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