Skip to content

feat: add DSH board and harden Genie state and delivery - #2895

Merged
automagik-genie merged 49 commits into
devfrom
nmstx/genie-daily01
Sep 7, 2026
Merged

automagik-genie merged 49 commits into
devfrom
nmstx/genie-daily01

Conversation

@automagik-genie

@automagik-genie automagik-genie commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Genie board reads now return complete, consistent snapshots. DSH Web users can view task details and perform authenticated board actions through a plugin with bounded subprocess work, strict inputs and complete refreshes after writes.

This integration also prevents false roadmap changes caused by JSON object key ordering, returns internal hire rows atomically under concurrent removal, and makes delivery fixtures reliable under subprocess load and restrictive permissions. Shared skills resolve a per-group fix budget with explicit overrides while preserving scope, diagnosis and independent review. The existing project Brain scaffold from #2893 is included with corrected note routing and template dates.

Release packaging includes the DSH plugin on all four platforms. Staged metadata and the compiled Host compatibility floor share one immutable candidate version. Both publication paths require complete payloads and authenticated artifact/source bindings before reconciliation. Current published channel manifests from main are preserved.

Validation on source 535b4fbccbb1c2865868f0df429c953f1446a055:

  • Independent review of all 19 incoming commits chronologically and all 61 changed files: SHIP, no actionable findings.
  • Full repository gate: 2,031 passed, 1 skipped, 0 failed; 8,780 assertions.
  • Real DSH 0.1.2-rc.1 install/restart/authenticated create/move/literal-comment/cleanup; previously accepted desktop/mobile browser proof remains bound to unchanged client source.
  • Built CLI roadmap and backup/import dogfood; extracted native Linux binary create/comment/move/complete snapshot and semantic sync all pass.
  • Four actual candidate 5.260907.100 tarballs built; unsigned verifier, all required members, extracted Host floors and metadata verified. This is local packaging proof, not a signed or published release; other platform binaries were not executed natively.
  • Brain JSON/frontmatter/template/reference/identity checks pass; this is a static project scaffold, not live memory integration.

Existing roadmap markers with pending edits may conservatively require explicit import/export resolution once; both sides remain preserved. Stable publication and published cryptographic verification remain behind the human main/release gate. The approved production policy now prevents self-review, with existing reviewers and main deployment restriction preserved.

Tracks Genie Daily01, NMSTX-686. Liraz Siri's #2737/#2738 contributions are credited in the scoped commits; retired runtimes and the rejected database-to-database sync proposal remain excluded.

release-bot and others added 30 commits August 29, 2026 02:07
…bump

workflow_run workflows execute main's copy of version.yml, so dev's fix
(#2812/#2816) never ran: every dev bump left orca-plugin.json one version
behind and scripts/release-payload-version.ts --verify-source failed the
tarball build. Promote only the workflow change so dev bumps are whole again.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gGxGgKskzyzr1HRUB6cV3
…lugin-sync

ci(version): sync plugins/genie/orca-plugin.json in the auto-version bump
chore: rolling promotion dev -> main
chore: rolling promotion dev -> main
chore: rolling promotion dev -> main
chore: rolling promotion dev -> main
chore: rolling promotion dev -> main
chore: rolling promotion dev -> main
automagik-genie and others added 11 commits September 3, 2026 01:57
Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Bound release reconciliation while allowing measured integration runtimes.

Prevent PID zero cleanup and restore Bun exit status explicitly.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Expose complete board snapshots and confirmed task actions through DSH Web.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
@coderabbitai

coderabbitai Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 7a97fe92-7b3f-46a4-842f-c0c5eff043b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Allow a bounded 20 seconds for 13 real CLI invocations under the full suite.
Keep every sync, conflict and recovery assertion unchanged.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Bind staged metadata and compiled compatibility checks to one candidate version.
Require complete four-platform payloads and authenticated delivery provenance
before either publication path can reconcile release assets.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Recover the preserved key-order fix with deterministic lexical ordering.
Keep real content and array order changes detectable and preserve pending edits
when legacy markers require explicit resolution.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Re-author the budget guidance proposed in Liraz Siri's PR #2738.
Keep the default of two and all repair safeguards across surviving guides.
Preserve separate quality, CI and model-escalation limits.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Capture the roster row in the upsert with RETURNING, preserving defaults and
original hired_at while eliminating the post-write read race. Exercise two
processes hiring and removing the same row against one real SQLite database.

Reauthored from the hireAgent race identified in Liraz Siri's PR #2737 review.
Validated with the full gate (2031 pass, 1 skip, 0 fail) and isolated API plus
built CLI backup/import dogfood.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Port the surviving fixture creation modes from Liraz Siri's PR #2737,
commit 9711b15. Keep retired agent-sync
and obsolete plugin payload hunks absent. Process umask still applies.

Independent review SHIP; surviving suites pass under default and 027 umasks
with 12 tests and 73 assertions each. B2 selection determinism is already
fixed on main by 01598ec.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Preserve PR #2893 and its original scaffold commit. Create ordinary notes at
the vault root and initialize template dates from native placeholders. Keep
project identity and original index dates; normalize JSON final newlines.

Validated all JSON and template metadata, references and project IDs with
isolated static rendering, plus the repository formatting gate. This adds a
project scaffold and does not establish live Brain runtime integration.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
Integrate the current main history before promotion. Preserve its published
stable and dev artifact pointers; product source is already equivalent at
the shared baseline apart from these two channel manifests.

Co-authored-by: Felipe Rosa <felipe@namastex.ai>
@automagik-genie automagik-genie changed the title feat: add complete board snapshots and DSH Web controls feat: add DSH board and harden Genie state and delivery Sep 7, 2026
@automagik-genie
automagik-genie marked this pull request as ready for review September 7, 2026 21:12
@automagik-genie
automagik-genie merged commit b8b64cf into dev Sep 7, 2026
21 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 535b4fbccb

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +48 to +49
for (const member of members) nonempty(join(root, 'plugins/dsh-genie-board', member));
verifyReleasePayloadVersion(root, version);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Verify the embedded Host compatibility floor

When dist/index.js is stale or built with the wrong candidate, this verifier accepts it as long as it is nonempty: the test fixture even uses the literal string fixture as the Host bundle. verifyReleasePayloadVersion checks only the adjacent package metadata, while the runtime actually enforces the independently embedded __GENIE_BUILD_VERSION__; signatures then merely authenticate those mismatched bytes. An immutable release can therefore pass both publication checks yet reject the matching Genie binary or advertise the wrong floor, so import the extracted Host bundle and assert its exported minimumGenieVersion equals version for every tarball.

AGENTS.md reference: AGENTS.md:L55-L57

Useful? React with 👍 / 👎.

const text = z.string();
const nullable = text.nullable();
const time = z.number().finite().nonnegative();
const id = text.regex(/^t_[a-z0-9]+$/);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Accept opaque persisted IDs in the board schema

When a board was restored from a valid roadmap/state snapshot containing non-generated IDs, this regex rejects the complete aggregate and the DSH board cannot load at all. The state importer only validates the table arrays and inserts t.id/board IDs verbatim, and the new aggregate-reader tests themselves exercise IDs such as task-0, so board --json can legitimately produce values that this consumer refuses. Treat persisted IDs as bounded opaque strings (and preserve argv safety with argument boundaries) rather than requiring the current t_.../b_... generator format.

Useful? React with 👍 / 👎.

@automagik-genie
automagik-genie deleted the nmstx/genie-daily01 branch September 25, 2026 04:51
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.

2 participants