Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
7a3e5ff
docs: rename docs/ to technical-documentation/ and stage the reorg sk…
EtienneLescot Jul 26, 2026
19f4784
docs: scope check-docs.mjs to a slice with --only
EtienneLescot Jul 26, 2026
50e8c0a
docs: add the doc index and the decision ledger, repoint every inboun…
EtienneLescot Jul 26, 2026
42d23c7
docs(architecture): overview, document model and preview
EtienneLescot Jul 26, 2026
7552c3c
docs: the AI layer, providers, build/packaging, CI, release and test …
EtienneLescot Jul 26, 2026
51f0200
docs: let check-docs.mjs accept path:line source anchors
EtienneLescot Jul 26, 2026
266b885
docs(architecture): the timeline coordinate model and the editor shell
EtienneLescot Jul 26, 2026
39f0550
docs(engineering): compress the rendering measurement record 924 -> 3…
EtienneLescot Jul 26, 2026
3878c20
docs(architecture): the native compositor, and the export pipeline as…
EtienneLescot Jul 26, 2026
3dd9023
docs(architecture): cross-platform recording, and the native bridge
EtienneLescot Jul 26, 2026
18467ca
docs: the cursor pipeline and its diagnostics
EtienneLescot Jul 26, 2026
b2fdb67
docs: add npm run docs:check, and complete the preview chain in the o…
EtienneLescot Jul 26, 2026
db07d88
docs(architecture): transcription through to rendered captions
EtienneLescot Jul 26, 2026
52d282c
docs(testing): one manual E2E checklist against the v4 shell
EtienneLescot Jul 26, 2026
5413101
docs: drop the _harvest staging directory
EtienneLescot Jul 26, 2026
ed1118b
ci: run CI on feat/ai-edition, and gate the docs tree
EtienneLescot Jul 26, 2026
a91e997
fix(test): make two platform-dependent tests pass off Windows, and cl…
EtienneLescot Jul 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:

# ponytail: STT is handled by the bundled whisper-stt-server (whisper.cpp
# with native DTW token timestamps). No separate VAD model is fetched
# here. See docs/engineering/stt-spec.md for the full architecture.
# here. See technical-documentation/architecture/transcription-and-captions.md for the full architecture.

- name: Build Windows app
run: npm run build:win -- --publish never
Expand Down Expand Up @@ -77,7 +77,7 @@ jobs:

# ponytail: STT is handled by the bundled whisper-stt-server (whisper.cpp
# with native DTW token timestamps). No separate VAD model is fetched
# here. See docs/engineering/stt-spec.md for the full architecture.
# here. See technical-documentation/architecture/transcription-and-captions.md for the full architecture.

- name: Build Windows Store package
run: npm run build:win:store -- --publish never
Expand Down
20 changes: 18 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
name: CI

# feat/ai-edition is a long-lived integration branch that PRs land on for
# months at a time. Without it listed here, every one of those PRs merged with
# no lint, no typecheck, no tests and no PR-title check.
on:
pull_request:
branches: [main]
branches: [main, feat/ai-edition]
push:
branches: [main]
branches: [main, feat/ai-edition]

jobs:
lint:
Expand All @@ -23,6 +26,19 @@ jobs:
- uses: ./.github/actions/setup
- run: npx tsc --noEmit

docs:
name: Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# No ./.github/actions/setup: check-docs.mjs imports only node builtins,
# so npm ci would be a minute of install for nothing. Node 22 is here for
# import.meta.dirname (needs >= 20.11).
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm run docs:check

test:
name: Test
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ result-*

# whisper.cpp DTW POC (tools/stt-eval/whispercpp-dtw-poc) — vendored engine
# clone, downloaded GGML models, and generated build/results artifacts.
# See docs/engineering/stt-whispercpp-dtw-poc-plan.md.
# See technical-documentation/architecture/transcription-and-captions.md.
/tools/stt-eval/whispercpp-dtw-poc/whisper.cpp/
/tools/stt-eval/whispercpp-dtw-poc/build-cpu/
/tools/stt-eval/whispercpp-dtw-poc/build-vulkan/
Expand Down
2 changes: 1 addition & 1 deletion .harness/docs/architecture-overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenScreen Architecture Notes

Quick map of how the app fits together, for the Mavis reins. For deeper details, see `../docs/architecture/native-bridge.md` and `../docs/engineering/`.
Quick map of how the app fits together, for the Mavis reins. For deeper details, see `../technical-documentation/architecture/native-bridge.md` and `../technical-documentation/engineering/`.

## Process layout

Expand Down
2 changes: 1 addition & 1 deletion .harness/docs/git-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ All five must be green before merge. Native helper code is NOT covered by CI —

## Release flow

Two `workflow_dispatch` workflows cut a release. Trunk-based on `main`, but **release branches freeze the RC codebase between cut and promote** (see § Release branches below). Both require the `OPENSCREEN_RELEASE_TOKEN` secret — see `docs/secrets.md`.
Two `workflow_dispatch` workflows cut a release. Trunk-based on `main`, but **release branches freeze the RC codebase between cut and promote** (see § Release branches below). Both require the `OPENSCREEN_RELEASE_TOKEN` secret — see `technical-documentation/engineering/release-and-secrets.md`.

### Step 1: cut a release candidate

Expand Down
2 changes: 1 addition & 1 deletion .harness/reins/openscreen-dev/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ You are the generalist implementer for the OpenScreen project — a free, open-s
## How you work

- Read `AGENTS.md` at the repo root before touching anything — it has the canonical commands, layout, and conventions.
- When the change touches recording, IPC, or the native bridge, read `.harness/docs/architecture-overview.md` (start here), `docs/architecture/native-bridge.md` (deeper dive), and `docs/engineering/` (native helper roadmaps).
- When the change touches recording, IPC, or the native bridge, read `.harness/docs/architecture-overview.md` (start here), `technical-documentation/architecture/native-bridge.md` (deeper dive), and `technical-documentation/engineering/` (native helper roadmaps).
- TypeScript strict mode, Biome format (tabs, double quotes, 100-col). Run `npm run lint:fix` before committing.
- For renderer-only iteration use `npm run build-vite`. For full packaging use `npm run build` (electron-builder, slow).
- Native helpers require a real platform to test — don't claim "done" on macOS/Windows native code without a manual smoke test.
Expand Down
2 changes: 1 addition & 1 deletion .harness/reins/openscreen-tester/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ You are the test specialist for the OpenScreen project — a free, open-source s
## How you work

- Read `AGENTS.md` at the repo root for commands and conventions.
- Read `docs/tests/writing-tests.md` for the project's test style guide.
- Read `technical-documentation/testing/writing-tests.md` for the project's test style guide.
- Match the style of neighboring `*.test.<ext>` files in the same package — don't invent new patterns.
- Unit tests: `npm run test` (Vitest, jsdom). Browser tests: `npm run test:browser` (needs `npm run test:browser:install` once). E2E: `npm run test:e2e` (Playwright).
- E2E specs in `tests/e2e/windows-native-checklist.spec.ts` are Windows-only — gate with `test.skip` for other platforms rather than deleting.
Expand Down
Loading
Loading