You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the Hello World milestone — the first proof that Specorator Runtime actually runs.
It is not a feature release. It is the minimum working demonstration of the full system operating end-to-end within the constraints defined in the PRD. Every architectural decision made in #4 is validated here for the first time against real code.
When this issue closes, v0.1.0 is tagged. That is the first release that contains working software.
Constraint reminder (from PRD NFR-02, NFR-05, NFR-06): Node.js context, TypeScript, Vitest for testing, compatible with Obsidian environment, in-memory state only, published to npm with TypeScript types — module format per ADR from #4.
The Hello World Scenario
The minimum scenario that proves the system:
Given: a workflow with a single task assigned to a stub agent
When: a runtime session is started
Then: the following events fire in order:
workflow.started
→ task.created
→ task.ready
→ agent.invoked
→ agent.completed
→ artifact.created
→ task.completed
→ workflow.completed
And: session state is queryable at any point
And: the stub agent receives context and returns structured output
And: the artifact produced by the agent is captured in the session
This scenario must be covered end-to-end by a Vitest test suite. It must pass with npm run verify.
Phase 1 — Core Skeleton
These are the implementation prerequisites. Each item produces a tested, committed module.
Runtime Kernel
RuntimeKernel class or module created
Session creation: kernel.startSession(workflow) returns a Session
index.ts — runnable script demonstrating the full scenario end-to-end
workflow.ts — minimal workflow definition used by the demo
stub-agent.ts — stub agent that returns a fixed structured output
Running the example script (using the TypeScript runner confirmed in SOLUTION-PROPOSAL.md, e.g. tsx or ts-node) prints the full event log to stdout
The printed output is human-readable and shows every event in sequence
GitHub Pages — product page and product demo
The Hello World release ships two public-facing static HTML files hosted on GitHub Pages. Full content requirements and acceptance criteria are defined in SPEC-HW-001 (specs/hello-world/github-pages.md — see PR #9, which must be merged to develop before this work begins).
npm install specorator-runtime installs the package and its TypeScript type declarations
Test Suite
All unit tests pass under npm run verify via Vitest
Integration test: the Hello World scenario runs end-to-end and all 8 events fire in the correct order
Test coverage includes: session creation, event ordering, agent invocation, artifact capture, state query
No test relies on external I/O or real agents
Documentation Updates
README.md updated: "Getting started" section shows npm install specorator-runtime and a link to the Hello World example
CHANGELOG.md entry for v0.1.0 written
DELIVERABLES-MAP.md updated to reflect Phase 1 complete, Phase 2 in progress
FOLLOW-UP-REGISTER.md reviewed: close resolved risks, add any new ones surfaced during implementation
Release — v0.1.0
All tests green on main
All CI workflows passing: ci.yml, gitleaks.yml, typos.yml, pages.yml
CHANGELOG.md entry for v0.1.0 finalised
Package published to npm at v0.1.0 — npm install specorator-runtime installs successfully
GitHub Pages live at https://luis85.github.io/specorator-runtime/ — product page and demo both accessible
GitHub Release created:
Tag: v0.1.0
Title: Hello World — first working runtime release
Release notes: what the Hello World scenario demonstrates, which modules are implemented, what is explicitly deferred to the next milestone, link to the example script, link to the GitHub Pages demo, link to the npm package
Acceptance Criteria
npm run verify passes with zero failures
The Hello World scenario produces all 8 events in the correct order, verified by the integration test
Session state is queryable after execution completes
The stub agent receives typed context and returns a typed artifact
The example script runs without errors and produces readable output
npm install specorator-runtime installs the package and its TypeScript types
docs/index.html and docs/demo.html are committed, valid static HTML, and pass the cold-reader test
GitHub Pages is live and both URLs resolve correctly
GitHub Release v0.1.0 exists with links to the npm package and the live demo
What this milestone does NOT include
Real workflow definitions from agentic-workflow (deferred to next milestone)
Real agents from agentonomous (deferred)
Parallel task execution (deferred)
UI integration with Specorator (deferred)
Persistence to filesystem (deferred — open question from PRD §15)
Retry or failure handling (deferred)
Related
Phase 0 · PRD — Specorator Runtime #1 — PRD: Specorator Runtime (NFR-06 defines the npm distribution requirement; NFR-05 drives module format decision)
Prerequisites
SOLUTION-PROPOSAL.mdcommitted and approved in Phase 0 · Design consolidation — stock-taking, enrichment, and solution proposal #4NPM_TOKENsecret configured in repository settings (Phase 0 · Project environment — repo setup, agentic-workflow conventions, and workshops #3)develop— SPEC-HW-001 (specs/hello-world/github-pages.md) must exist before the GitHub Pages deliverables are implementedWhat this issue is
This is the Hello World milestone — the first proof that Specorator Runtime actually runs.
It is not a feature release. It is the minimum working demonstration of the full system operating end-to-end within the constraints defined in the PRD. Every architectural decision made in #4 is validated here for the first time against real code.
When this issue closes,
v0.1.0is tagged. That is the first release that contains working software.The Hello World Scenario
The minimum scenario that proves the system:
This scenario must be covered end-to-end by a Vitest test suite. It must pass with
npm run verify.Phase 1 — Core Skeleton
These are the implementation prerequisites. Each item produces a tested, committed module.
Runtime Kernel
RuntimeKernelclass or module createdkernel.startSession(workflow)returns aSessionkernel.stopSession(sessionId)halts executionkernel.getSession(sessionId)returns current stateEvent Bus
EventBusclass or module createdemit(event)publishes a typed eventsubscribe(eventType, handler)registers a listenerSession Model
Sessiontype defined with: id, workflowRef, state, taskGraph, eventLog, artifactsTaskStatetype:created | ready | running | completed | failedRuntimeEventtype: discriminated union of all V1 events with typed payloadsArtifacttype definedPhase 2 — Execution (Hello World scope only)
Implement only what is needed for the Hello World scenario. Full interpreter and executor are scoped to the next milestone.
Stub Workflow Interpreter
readyon session startworkflow.startedandtask.created,task.readyin sequenceStub Agent Executor
agent.invokedArtifactagent.completed,artifact.created,task.completedworkflow.completedwhen all tasks are donePhase 3 — Observability (Hello World scope only)
In-Memory State Store
getSession(id)returns current snapshotgetEventLog(id)returns ordered list of events for the sessionLogging
[timestamp] [sessionId] event.type payloadHello World App
examples/hello-world/directory createdindex.ts— runnable script demonstrating the full scenario end-to-endworkflow.ts— minimal workflow definition used by the demostub-agent.ts— stub agent that returns a fixed structured outputSOLUTION-PROPOSAL.md, e.g.tsxorts-node) prints the full event log to stdoutGitHub Pages — product page and product demo
The Hello World release ships two public-facing static HTML files hosted on GitHub Pages. Full content requirements and acceptance criteria are defined in SPEC-HW-001 (
specs/hello-world/github-pages.md— see PR #9, which must be merged todevelopbefore this work begins).docs/index.html— static product page committed (hero, problem/solution, capabilities, integration map, links)docs/demo.html— static rendering of the full Hello World execution trace with all 8 events, the stub agent artifact, and a session state snapshotfile://— no build step, no server requireddocs/onmain.github/workflows/pages.ymlcreated — verifiesdocs/index.htmlanddocs/demo.htmlexist on every push todocs/**https://luis85.github.io/specorator-runtime/resolves to the product page after merge tomainhttps://luis85.github.io/specorator-runtime/demo.htmlresolves to the product demonpm Package
The Hello World release must be the first publicly installable version of the library (NFR-06).
package.jsonconfigured for publishing:name,version,main,types,exports, andfilesfields set correctly per the ADR from Phase 0 · Design consolidation — stock-taking, enrichment, and solution proposal #4import { RuntimeKernel } from 'specorator-runtime'(or scoped equivalent) works after installNPM_TOKENsecret configured in GitHub repository settings (prerequisite — see Phase 0 · Project environment — repo setup, agentic-workflow conventions, and workshops #3)release.ymlworkflow publishes to npm on semver tag frommainHEADv0.1.0under the name confirmed in the ADR from Phase 0 · Design consolidation — stock-taking, enrichment, and solution proposal #4npm install specorator-runtimeinstalls the package and its TypeScript type declarationsTest Suite
npm run verifyvia VitestDocumentation Updates
README.mdupdated: "Getting started" section showsnpm install specorator-runtimeand a link to the Hello World exampleCHANGELOG.mdentry forv0.1.0writtenDELIVERABLES-MAP.mdupdated to reflect Phase 1 complete, Phase 2 in progressFOLLOW-UP-REGISTER.mdreviewed: close resolved risks, add any new ones surfaced during implementationRelease — v0.1.0
mainci.yml,gitleaks.yml,typos.yml,pages.ymlCHANGELOG.mdentry forv0.1.0finalisedv0.1.0—npm install specorator-runtimeinstalls successfullyhttps://luis85.github.io/specorator-runtime/— product page and demo both accessiblev0.1.0Hello World — first working runtime releaseAcceptance Criteria
npm run verifypasses with zero failuresnpm install specorator-runtimeinstalls the package and its TypeScript typesdocs/index.htmlanddocs/demo.htmlare committed, valid static HTML, and pass the cold-reader testv0.1.0exists with links to the npm package and the live demoWhat this milestone does NOT include
agentic-workflow(deferred to next milestone)agentonomous(deferred)Related
specs/hello-world/github-pages.md— full spec fordocs/index.html,docs/demo.html, and GitHub Pages configuration