Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
d268428
feat(ui): take @pathscale/ui 3.x
Sep 7, 2026
e09f5c5
fix(deps): pin @pathscale/ui to ^4.0.0
Sep 7, 2026
5472865
fix(deps): resolve the lockfile onto 4.0.0
Sep 7, 2026
1972d44
fix(deps): pin @pathscale/ui to ^3.1.0
Sep 7, 2026
185bb95
fix(theme): do not take the page down when storage is unavailable
Sep 7, 2026
3247815
test(qa): check the page renders, against a real browser engine
Sep 8, 2026
03b847d
test(qa): press something, so a dead page cannot pass
Sep 8, 2026
fe85fc1
test(qa): reach the two documents this site exists to publish
Sep 8, 2026
43e5e96
build: stop committing the lockfiles
Sep 9, 2026
cf844cf
build: pin @solidjs/signals to the release solid-js was cut against
Sep 9, 2026
08b357e
test(qa): mark surfaces by something a host with no fonts still paints
Sep 9, 2026
8e35953
test(qa): split the shell and the routes out of the single page group
Sep 9, 2026
6d5786c
test(qa): check the landing page section by section, and drive its sw…
Sep 9, 2026
5687b3d
test(qa): check both published documents, section by section
Sep 9, 2026
afb1216
test(qa): verify every UI release surface
Sep 11, 2026
39325af
chore(ui): finish the 3.2 migration
Sep 11, 2026
def40fe
fix(site): correct navigation semantics
Sep 12, 2026
046abac
test(qa): reconcile document controls
Sep 12, 2026
e17af34
test(qa): inventory full application surfaces
Sep 12, 2026
530a00a
fix(security): manage the production CSP
Sep 12, 2026
86f97f5
Revert "fix(security): manage the production CSP"
Sep 12, 2026
538ae50
chore(deps): use UI 3.2.3
Sep 12, 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
42 changes: 21 additions & 21 deletions .github/workflows/conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@ jobs:
run: cargo clippy --manifest-path conformance/runner/Cargo.toml --all-targets -- -D warnings

- name: Run runner tests and suite
run: cargo test --locked --manifest-path conformance/runner/Cargo.toml
run: cargo test --manifest-path conformance/runner/Cargo.toml

- name: Verify deterministic report snapshot
run: |
cargo run --quiet --locked --manifest-path conformance/runner/Cargo.toml -- run-suite . > /tmp/promptsyntax-conformance-report.json
cargo run --quiet --manifest-path conformance/runner/Cargo.toml -- run-suite . > /tmp/promptsyntax-conformance-report.json
cmp conformance/reports/0.1.0-rc.1.json /tmp/promptsyntax-conformance-report.json

- name: Verify adversarial benchmark snapshot
run: |
cargo run --quiet --locked --manifest-path conformance/runner/Cargo.toml -- run-adversarial-benchmark . > /tmp/promptsyntax-trace-adversarial.json
cargo run --quiet --manifest-path conformance/runner/Cargo.toml -- run-adversarial-benchmark . > /tmp/promptsyntax-trace-adversarial.json
cmp conformance/reports/trace-adversarial-0.1.0-rc.1.json /tmp/promptsyntax-trace-adversarial.json

cross-language-core:
Expand Down Expand Up @@ -96,15 +96,15 @@ jobs:
bun-version: 1.3.14

- name: Install TypeScript implementation dependencies
run: bun install --frozen-lockfile
run: bun install
working-directory: implementations/promptsyntax-ts

- name: Run Rust implementation checks against canonical cases
run: |
cp standard/conformance/cases/core-parser.json implementations/promptsyntax-rs/tests/conformance.json
cargo fmt --manifest-path implementations/promptsyntax-rs/Cargo.toml -- --check
cargo test --locked --all-targets --manifest-path implementations/promptsyntax-rs/Cargo.toml
cargo clippy --locked --all-targets --manifest-path implementations/promptsyntax-rs/Cargo.toml -- -D warnings
cargo test --all-targets --manifest-path implementations/promptsyntax-rs/Cargo.toml
cargo clippy --all-targets --manifest-path implementations/promptsyntax-rs/Cargo.toml -- -D warnings

- name: Run TypeScript implementation checks against canonical cases
run: |
Expand All @@ -117,7 +117,7 @@ jobs:

- name: Produce canonical normalized Core results
run: |
cargo run --quiet --release --locked --manifest-path implementations/promptsyntax-rs/Cargo.toml --bin ps-core-adapter -- \
cargo run --quiet --release --manifest-path implementations/promptsyntax-rs/Cargo.toml --bin ps-core-adapter -- \
standard/conformance/cases/core-parser.json 2789fac8acb810279ece887f46c025ef987ce0bf \
> /tmp/promptsyntax-rs-core.json
bun implementations/promptsyntax-ts/src/bin/core-adapter.ts \
Expand All @@ -126,28 +126,28 @@ jobs:

- name: Validate and compare canonical Core results
run: |
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/core-adapter-result.schema.json /tmp/promptsyntax-rs-core.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/core-adapter-result.schema.json /tmp/promptsyntax-ts-core.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
compare-core-adapters standard/conformance/cases/core-parser.json \
/tmp/promptsyntax-rs-core.json /tmp/promptsyntax-ts-core.json \
> /tmp/core-differential.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/core-differential-report.schema.json /tmp/core-differential.json
cmp standard/conformance/reports/core-differential-0.1.0-rc.1.json /tmp/core-differential.json

- name: Generate deterministic 100,000-case differential input
run: |
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
generate-core-differential 100000 20270803 > /tmp/core-generated.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/core-differential-input.schema.json /tmp/core-generated.json

- name: Stream generated Core results from both implementations
run: |
cargo run --quiet --release --locked --manifest-path implementations/promptsyntax-rs/Cargo.toml --bin ps-core-adapter -- \
cargo run --quiet --release --manifest-path implementations/promptsyntax-rs/Cargo.toml --bin ps-core-adapter -- \
/tmp/core-generated.json 2789fac8acb810279ece887f46c025ef987ce0bf --jsonl \
> /tmp/promptsyntax-rs-generated.jsonl
bun implementations/promptsyntax-ts/src/bin/core-adapter.ts \
Expand All @@ -156,36 +156,36 @@ jobs:

- name: Compare all 100,000 generated normalized outputs
run: |
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
compare-core-streams 100000 20270803 \
/tmp/promptsyntax-rs-generated.jsonl /tmp/promptsyntax-ts-generated.jsonl \
> /tmp/core-generated-differential.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/core-differential-report.schema.json \
/tmp/core-generated-differential.json
cmp standard/conformance/reports/core-generated-differential-0.1.0-rc.1.json \
/tmp/core-generated-differential.json

- name: Run both real Trace producers
run: |
cargo build --quiet --release --locked --manifest-path implementations/promptsyntax-rs/Cargo.toml \
cargo build --quiet --release --manifest-path implementations/promptsyntax-rs/Cargo.toml \
--bin ps-trace-producer
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
run-trace-producer-adapter standard promptsyntax-rs 0.1.0 \
2789fac8acb810279ece887f46c025ef987ce0bf \
implementations/promptsyntax-rs/target/release/ps-trace-producer \
> /tmp/trace-producer-rs.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
run-trace-producer-adapter standard promptsyntax-ts 0.1.0 \
3c2c505d6f8fa836aa42abe12c0b466bcc3ba254 \
bun implementations/promptsyntax-ts/src/bin/trace-producer.ts \
> /tmp/trace-producer-ts.json

- name: Validate and freeze Trace producer reports
run: |
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/adapter-result.schema.json /tmp/trace-producer-rs.json
cargo run --quiet --release --locked --manifest-path standard/conformance/runner/Cargo.toml -- \
cargo run --quiet --release --manifest-path standard/conformance/runner/Cargo.toml -- \
validate-instance standard/conformance/adapter-result.schema.json /tmp/trace-producer-ts.json
cmp standard/conformance/reports/trace-producer-rs-0.1.0-rc.1.json /tmp/trace-producer-rs.json
cmp standard/conformance/reports/trace-producer-ts-0.1.0-rc.1.json /tmp/trace-producer-ts.json
44 changes: 44 additions & 0 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Run every declared group, including newly added functionality.
name: QA

on:
pull_request:
push:
branches: [master]
workflow_dispatch:

jobs:
rendered-outcomes:
runs-on: ubicloud-standard-4
steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun install

# The checks drive the built site, not the dev server: what ships is what
# is asked about.
- name: Build
run: bun run build

- name: Headless browser host
id: qa
uses: pathscale/chuzz/.github/actions/headless-host@master
with:
token: ${{ secrets.SIBLING_REPOS_TOKEN }}

- name: Rendered outcomes
env:
# A shared runner is slower than a laptop for outcomes that pass
# locally well inside the budget. This widens scheduling deadlines
# only; every declared transition is still required.
QA_TIMEOUT_SCALE: 2
run: |
ps-qa --app tests/ps-qa/ps-qa.ron \
qa-hosted \
--host "${{ steps.qa.outputs.host }}" \
--page dist --checks tests/ps-qa/checks
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,6 @@ conformance/runner/target

# Finder (MacOS) folder config
.DS_Store

bun.lock
Cargo.lock
4 changes: 2 additions & 2 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
"$schema": "https://biomejs.dev/schemas/2.5.13/schema.json",
"formatter": {
"enabled": true,
"indentStyle": "space",
Expand All @@ -9,7 +9,7 @@
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"preset": "recommended",
"correctness": {
"noUnusedVariables": "error",
"noInvalidPositionAtImportRule": "off"
Expand Down
Loading
Loading