Gossamer is an environmental-test data and evidence demonstrator for exploring how requirements, test configuration, facility state, telemetry provenance, command authority, anomalies, and evidence reporting can become one repeatable operating model.
Live hosted demo: gossamer.jmeyer.space
The repository is independent, fictional, and not affiliated with any employer or customer. It does not contain real device data, real lab configuration, real protocol definitions, real facility procedures, or private identifiers.
- A generic reference DUT moving through flatsat, thermal acceptance, TVac qualification, and integrated system FAT campaigns.
- Backend-owned semantic contracts for source quality, graph lanes, requirements, command authority, and evidence reports.
- Rich decoded telemetry contracts as the default: numeric values, units, signal kind, provenance, and enum/boolean label dictionaries are supplied by fixtures or APIs rather than inferred in the browser.
- A landing page, campaign graph pages, and virtual bus tap that make the demo usable as a technical portfolio walkthrough.
- A lightweight hosted static/tile deployment for reviewing the project without a local checkout.
- Deterministic synthetic fixtures that make the demo reproducible.
- A local API and operator UI that can be shown without hardware, private networks, or external services.
- A reusable portfolio artifact for discussing test-system architecture, source abstraction, and operator workflows.
cmd/gossamer-fixtures: regenerates deterministic public fixtures.cmd/gossamer-report: builds evidence reports from campaign requirements and telemetry.cmd/gossamer-server: serves the local demo API.internal/environmentalsim: deterministic public simulation packages for the tracked traces.internal/synthetic: public fixture assembly over SignalForge primitives.github.com/egidinas/signalforge/*: shared neutral backend primitives (Arrow telemetry, graph-wall, tile-bundle, JSON, safe-path). These are imported directly from the clean-room baseline, strictly avoiding the legacyloom-gossamer-shareddependencies.fixtures/public: synthetic JSON and JSONL contracts served by the API and tested by the UI.web: Vite/React operator UI.docs: architecture, standards, traceability, and deployment notes.
The canonical fixtures, reports, and backlog artifacts stay as JSON or JSONL.
For large backlog slices, source catalogues, discovery trees, evidence reports,
graph-wall fixtures, and Loom/Gossamer pairwise reviews exchanged between
agents, use the repo-local compact fixture contract guarded by
web/scripts/test-agent-context-codec.mjs.
The compact form is only for agent prompt/tool transport. Decode it back to canonical JSON before changing files, regenerating fixtures, validating contracts, publishing the public demo, or presenting evidence. The Gossamer web contract test includes the codec consumer check:
cd web
npm run test:contractsgo run ./cmd/gossamer-fixtures
go run ./cmd/gossamer-report --campaign flatsat_derisking
go run ./cmd/gossamer-report --campaign thermal_acceptance_fat
go run ./cmd/gossamer-report --campaign tvac_qualification
go run ./cmd/gossamer-report --campaign integrated_system_fat
go run ./cmd/gossamer-serverIn another shell:
cd web
npm install
npm run dev -- --host 127.0.0.1 --port 5179Open http://127.0.0.1:5179/#landing.
go test ./...
cd web
npm run test:contracts
npm run test:browser
npm run buildnpm run test:browser starts the local Go API and Vite app, visits every UI route at desktop and mobile widths, fails on page errors or horizontal overflow, and writes screenshots to web/test-artifacts/screenshots/. The artifact directory is ignored by git.
The UI exposes eight views:
- landing: project story, navigation, and compact parallel FAT preview,
- mission map: synthetic test article, facilities, buses, and campaigns,
- supervisor: swimlane board for parallel FAT and qualification activities with backend-defined hero graphs,
- graph wall: backend-defined graph lanes over deterministic telemetry,
- source catalogue: freshness, quality, and provenance for synthetic sources,
- requirement matrix: requirement results with evidence references,
- command authority: mocked lease and command path,
- bus tap: fictional data-bus virtualization view with separated TM and TC replay events,
- evidence report: campaign-level summary, anomalies, and export-ready records.
Gossamer uses fictional names, deterministic fixture data, generic DUT subsystems, generic environmental facilities, and public engineering concepts. See docs/ip_clean_room.md.
Clean-room fixtures may demonstrate decoded bus semantics and late-subscriber label dictionaries, but they must not include private DBCs, real device value tables, lab node names, captures, serial numbers, or hardware procedures.
Public dependency and release gates are tracked in docs/public_variant_readiness.md.
A hosted instance is available at https://gossamer.jmeyer.space/. It serves the lightweight public UI and precomputed telemetry tile artifacts through Cloudflare Tunnel, so the project can be reviewed from GitHub without a local checkout.
Local runs remain useful for regenerating fixtures, reports, and tile bundles. See docs/public_demo_access.md for the conservative deployment pattern.