Skip to content

feat: bootstrap StoryCore Harbour for Anna - #30

Merged
zedarvates merged 127 commits into
mainfrom
agent/storycore-harbour-bootstrap
Aug 24, 2026
Merged

feat: bootstrap StoryCore Harbour for Anna#30
zedarvates merged 127 commits into
mainfrom
agent/storycore-harbour-bootstrap

Conversation

@zedarvates

@zedarvates zedarvates commented Aug 12, 2026

Copy link
Copy Markdown
Owner

What

Creates StoryCore Harbour, an isolated Anna-native entry point to StoryCore Engine.

The App converts a concept or short script into a validated production package:

  • production bible and visual direction;
  • characters and locations with continuity rules;
  • ordered scenes and shots;
  • reusable generation prompts;
  • continuity report;
  • per-user App storage, safe delete-all, and StoryCore-compatible JSON export.

Product boundary

The core workflow is independently useful inside Anna and intentionally excludes heavy rendering.

  • no Executa;
  • no custom backend or provider key;
  • no developer-paid inference service;
  • no GPU, ComfyUI, Blender, image, audio, or video dependency in the meaningful completion path;
  • StoryCore Desktop remains the advanced local production destination.

Anna confirmed on 2026-08-13 that a Host-API-only Schema 2 App can qualify without requiring users to install a local Executa/runtime.

Architecture

  • Anna schema: 2 static SPA;
  • direct anna.llm.complete;
  • App-scope anna.storage.get/set/list/delete;
  • anna.window.set_title;
  • exactly one bounded repair attempt;
  • canonical executable storycore-harbour.project.v1 contract;
  • validation before render/save/load/export and after storage read-back;
  • optimistic ETag writes and ETag-protected deletion;
  • no external origin or tracker.

Reliability, security, and privacy

Implemented:

  • 42 Node tests covering the contract, evaluator, privacy-safe output, safe CLI paths, and official Anna Host API harness;
  • twenty invalid-contract conditions plus the valid reference project;
  • exact @anna-ai/cli 0.1.30 and strict anna-app validate --strict;
  • immutable twenty-prompt corpus covering all six formats, exactly ten English and ten French cases;
  • deterministic real-model gate: at least 18/20 valid projects and median successful completion at or below 180 seconds;
  • hidden authenticated collector activated only with ?acceptance=1;
  • explicit quota/storage consent, safe stop, repair tracking, and local JSONL download;
  • evaluator logs redact model-derived validation text and unknown identifiers;
  • CLI file arguments are confined to existing files inside the Harbour App directory;
  • generated content is rendered as text, never untrusted HTML;
  • no unsafe Markdown-fence regex or silent mock fallback.

Persistence and deletion

  • validated projects are saved to a versioned snapshot and projects/current;
  • existing values use opaque ETags for optimistic concurrency;
  • every save is read back and revalidated;
  • delete-all requires two distinct clicks within 15 seconds;
  • only projects/ records are listed/deleted;
  • pagination is bounded and repeated cursors fail closed;
  • ETags are passed to deletion when available;
  • projects/current is deleted last;
  • storage is re-listed/re-read before success is reported;
  • unrelated App data is preserved.

Automated gates currently green

Current head 4626ab614072b9adab0c691cd61a0f02ca9e27ed passed:

  • StoryCore Harbour CI run #95;
  • all 42 Node tests;
  • sample export, mock response, corpus, and bundle synchronization;
  • strict Anna manifest validation;
  • full Chromium generation/export flow at 520 × 680;
  • full Chromium paginated/ETag deletion flow;
  • four deterministic fictional Marketplace screenshot drafts;
  • SonarQube Cloud Quality Gate with 0 new issues, 0 accepted issues, 0 security hotspots, and 0 annotations.

Anna confirmations and owner action

Anna confirmed on 2026-08-13:

  • developer activation is self-service and instant after account creation, email verification, Developer ToS acceptance, and Developer Console activation;
  • developer handles and App slugs are first-come-first-served and lock when claimed/created;
  • launch/growth initiatives are planned for strong Apps, but no specific promotional placement is guaranteed;
  • the first review submission may be made once the core workflow works end-to-end.

The owner should therefore claim storycore-labs and create the storycore-harbour App draft immediately if available. This owner-only gate is tracked in #34 and documented command by command in:

apps/storycore-harbour/review/OWNER_ACTIVATION_AND_FIRST_REVIEW.md

Repository automation must not accept legal terms or operate the owner's Anna account without an authenticated owner-controlled session.

Remaining before ready-for-review or merge

  • complete issue [Harbour][Owner] Claim Anna identity and open authenticated test environment #34: activate the owner account, claim the handle, and create the working draft;
  • authenticate the real Anna developer environment;
  • run the fixed twenty-prompt corpus against at least one enabled model;
  • pass the committed 18/20 and median-latency evaluator;
  • verify production APS write/read/reload, overwrite conflict, paginated deletion, and deletion conflict behavior;
  • complete NVDA, VoiceOver, zoom, and forced/high-contrast checks;
  • run 10–20 external beta completions and resolve P0/P1 defects;
  • obtain/review the exact Developer Terms, detailed 70% eligible-usage-profit calculation, and MAU/Qualified Run visibility;
  • confirm final Marketplace asset requirements and publisher support details.

Safety boundary

This PR remains a draft. It does not modify the existing StoryCore runtime core. Do not weaken the contract, replace difficult acceptance prompts after seeing failures, add a backend/Executa, mark ready, or merge before the remaining authenticated, human, legal, and beta gates are satisfied.

@zedarvates
zedarvates force-pushed the agent/storycore-harbour-bootstrap branch from 01c39f3 to 6b47afd Compare August 12, 2026 15:37
zedarvates and others added 27 commits August 16, 2026 16:09
# Conflicts:
#	apps/storycore-harbour/STATUS.md
#	apps/storycore-harbour/scripts/browser-smoke.mjs
@sonarqubecloud

Copy link
Copy Markdown

@zedarvates
zedarvates marked this pull request as ready for review August 24, 2026 07:58
@zedarvates
zedarvates merged commit c5fd23d into main Aug 24, 2026
2 checks passed
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