Skip to content

Commit 122b477

Browse files
Add youaskm3 real shell validation (#194)
1 parent a0ce6c3 commit 122b477

9 files changed

Lines changed: 125 additions & 2 deletions

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ Traverse is spec-driven. Code must align with an approved, immutable spec or it
157157
- [docs/adapter-boundaries.md](docs/adapter-boundaries.md) — adapter and portability boundaries
158158
- [docs/youaskm3-integration-validation.md](docs/youaskm3-integration-validation.md) — youaskm3 integration validation
159159
- [docs/youaskm3-compatibility-conformance-suite.md](docs/youaskm3-compatibility-conformance-suite.md) — youaskm3 compatibility conformance suite
160+
- [docs/youaskm3-real-shell-validation.md](docs/youaskm3-real-shell-validation.md) — youaskm3 real shell validation
160161
- [docs/quality-standards.md](docs/quality-standards.md) — non-negotiable quality rules
161162
- [docs/compatibility-policy.md](docs/compatibility-policy.md) — versioning and compatibility
162163
- [docs/multi-thread-workflow.md](docs/multi-thread-workflow.md) — parallel agent workflow

docs/app-consumable-entry-path.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ This is the canonical documentation path for humans and coding agents working on
1313
- [docs/app-consumable-requirements-traceability.md](/Users/piovese/Documents/cogolo/docs/app-consumable-requirements-traceability.md)
1414
- [docs/youaskm3-integration-validation.md](/Users/piovese/Documents/cogolo/docs/youaskm3-integration-validation.md)
1515
- [docs/youaskm3-compatibility-conformance-suite.md](/Users/piovese/Documents/cogolo/docs/youaskm3-compatibility-conformance-suite.md)
16+
- [docs/youaskm3-real-shell-validation.md](/Users/piovese/Documents/cogolo/docs/youaskm3-real-shell-validation.md)
1617
- [apps/browser-consumer/README.md](/Users/piovese/Documents/cogolo/apps/browser-consumer/README.md)
1718

1819
## Canonical Rule
@@ -25,6 +26,7 @@ If a new human or agent asks where to begin, point them to the README first and
2526
- The quickstart is the first executable consumer path.
2627
- The versioned consumer bundle explains what a downstream app installs and which released surfaces it may rely on.
2728
- The conformance suite explains how the released Traverse and `youaskm3` surfaces are proven together.
29+
- The real-shell validation explains how the browser-hosted `youaskm3` shell is checked against the released Traverse consumer artifacts.
2830
- The deeper docs explain validation, release, and traceability after the first path is understood.
2931
- Competing entrypoints should be treated as references, not as the first recommended path.
3032

docs/app-consumable-release-checklist.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Traverse MUST NOT claim `app-consumable v0.1` unless all of the following are sa
2020
- [ ] The first versioned Traverse consumer bundle is documented in [docs/app-consumable-consumer-bundle.md](/Users/piovese/Documents/cogolo/docs/app-consumable-consumer-bundle.md).
2121
- [ ] The downstream MCP consumption path exists and passes [scripts/ci/mcp_consumption_validation.sh](/Users/piovese/Documents/cogolo/scripts/ci/mcp_consumption_validation.sh).
2222
- [ ] The first real `youaskm3` integration path exists and passes [scripts/ci/youaskm3_integration_validation.sh](/Users/piovese/Documents/cogolo/scripts/ci/youaskm3_integration_validation.sh).
23+
- [ ] The real browser-hosted `youaskm3` shell validation exists and passes [scripts/ci/youaskm3_real_shell_validation.sh](/Users/piovese/Documents/cogolo/scripts/ci/youaskm3_real_shell_validation.sh).
2324
- [ ] The end-to-end acceptance path exists and passes [scripts/ci/app_consumable_acceptance.sh](/Users/piovese/Documents/cogolo/scripts/ci/app_consumable_acceptance.sh).
2425
- [ ] The operational constraints for app-facing browser and MCP surfaces are documented in [docs/adapter-boundaries.md](/Users/piovese/Documents/cogolo/docs/adapter-boundaries.md) and [docs/compatibility-policy.md](/Users/piovese/Documents/cogolo/docs/compatibility-policy.md).
2526
- [ ] The consumer contract and integration-validation model remain aligned with approved governing specs.
@@ -36,6 +37,7 @@ The release decision should be backed by:
3637
- the browser live-adapter smoke path
3738
- the MCP consumption validation path
3839
- the first real `youaskm3` integration validation path
40+
- the real browser-hosted `youaskm3` shell validation path
3941
- the end-to-end app-consumable acceptance path
4042
- reviewable PR checks on the release-related documentation and validation artifacts
4143

@@ -62,7 +64,8 @@ A reviewer can answer the release question by checking:
6264
6. the live browser adapter smoke path
6365
7. the MCP validation path
6466
8. the first real `youaskm3` integration validation path
65-
9. the end-to-end acceptance path
66-
10. the release artifact and publication bundle definition
67+
9. the real browser-hosted `youaskm3` shell validation path
68+
10. the end-to-end acceptance path
69+
11. the release artifact and publication bundle definition
6770

6871
If those artifacts and checks exist and are passing, the first app-consumable release can be evaluated on evidence rather than interpretation.

docs/app-consumable-requirements-traceability.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Project 1 is the canonical task board for this work. Every requirement area belo
1414
| Versioned consumer bundle and installation steps | [#176](https://github.com/enricopiovesan/Traverse/issues/176) | `Ready` |
1515
| Live browser-consumer path | [#120](https://github.com/enricopiovesan/Traverse/issues/120), [#121](https://github.com/enricopiovesan/Traverse/issues/121), [#123](https://github.com/enricopiovesan/Traverse/issues/123) | `Done` |
1616
| Downstream consumer contract and app-facing validation | [#126](https://github.com/enricopiovesan/Traverse/issues/126), [#128](https://github.com/enricopiovesan/Traverse/issues/128), [#129](https://github.com/enricopiovesan/Traverse/issues/129) | `Done` |
17+
| Real browser-hosted `youaskm3` shell validation | [#179](https://github.com/enricopiovesan/Traverse/issues/179) | `In Progress` |
1718
| MCP WASM server model and validation | [#146](https://github.com/enricopiovesan/Traverse/issues/146), [#158](https://github.com/enricopiovesan/Traverse/issues/158), [#148](https://github.com/enricopiovesan/Traverse/issues/148) | `Done` / `In Progress` / `Blocked` |
1819

1920
## Non-Functional Requirements
@@ -32,6 +33,7 @@ Project 1 is the canonical task board for this work. Every requirement area belo
3233
- [#144](https://github.com/enricopiovesan/Traverse/issues/144) `Establish one canonical documentation entry path for humans and agents` - `Ready`
3334
- [#145](https://github.com/enricopiovesan/Traverse/issues/145) `Refresh release and requirements traceability docs for current v0.1 state` - `In Progress`
3435
- [#158](https://github.com/enricopiovesan/Traverse/issues/158) `Implement MCP stdio server package foundation` - `In Progress`
36+
- [#179](https://github.com/enricopiovesan/Traverse/issues/179) `Validate the real browser-hosted youaskm3 shell against released Traverse consumer artifacts` - `In Progress`
3537
- [#150](https://github.com/enricopiovesan/Traverse/issues/150) `Prepare and validate the first Traverse v0.1 GitHub release artifact` - `In Progress`
3638
- [#176](https://github.com/enricopiovesan/Traverse/issues/176) `Publish versioned Traverse consumer bundle for downstream app integration` - `Ready`
3739
- [#130](https://github.com/enricopiovesan/Traverse/issues/130) `Define first app-consumable performance baseline` - `Blocked`

docs/youaskm3-compatibility-conformance-suite.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
This document defines the first deterministic compatibility and conformance suite for Traverse and `youaskm3`.
44

55
The suite exists so a reviewer can prove that the released Traverse surfaces remain consumable by `youaskm3` without depending on repo archaeology, ad hoc environment setup, or private Traverse internals.
6+
The real browser-hosted shell validation is documented separately in [docs/youaskm3-real-shell-validation.md](/Users/piovese/Documents/cogolo/docs/youaskm3-real-shell-validation.md).
67

78
This youaskm3 compatibility conformance suite is the release-aligned proof path for the downstream consumer contract.
89

@@ -14,6 +15,7 @@ The suite covers the released downstream path end to end:
1415
- the live browser-hosted consumer path
1516
- the app-facing MCP consumption path
1617
- the first real `youaskm3` integration path
18+
- the browser-hosted `youaskm3` real shell validation path
1719

1820
It does not define new runtime behavior. It verifies that the supported Traverse surfaces continue to fit together as a released consumer set.
1921

@@ -57,6 +59,7 @@ The suite is expected to fail deterministically when:
5759
- the live browser-hosted adapter path is unavailable
5860
- the MCP consumer path is unavailable
5961
- the first real `youaskm3` validation path is unavailable
62+
- the browser-hosted shell validation path is unavailable
6063

6164
## Verification
6265

@@ -66,3 +69,4 @@ A reviewer can verify the suite by checking:
6669
2. the live browser-hosted smoke path
6770
3. the MCP consumption validation path
6871
4. the first real `youaskm3` integration validation path
72+
5. the browser-hosted real shell validation path

docs/youaskm3-integration-validation.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ It stays on governed public Traverse surfaces only:
1111
- the versioned Traverse consumer bundle
1212
- [docs/youaskm3-compatibility-conformance-suite.md](/Users/piovese/Documents/cogolo/docs/youaskm3-compatibility-conformance-suite.md)
1313
- the `youaskm3` compatibility conformance suite
14+
- [docs/youaskm3-real-shell-validation.md](/Users/piovese/Documents/cogolo/docs/youaskm3-real-shell-validation.md)
15+
- the `youaskm3` real shell validation
1416

1517
For the shortest Traverse-side start path, begin with [quickstart.md](/Users/piovese/Documents/cogolo/quickstart.md).
1618

@@ -51,6 +53,12 @@ For the broader release-aligned compatibility check, also run:
5153
bash scripts/ci/youaskm3_compatibility_conformance.sh
5254
```
5355

56+
For the real browser-hosted shell validation against released Traverse consumer artifacts, also run:
57+
58+
```bash
59+
bash scripts/ci/youaskm3_real_shell_validation.sh
60+
```
61+
5462
## Expected Evidence
5563

5664
The validation path should prove:
@@ -62,6 +70,8 @@ The validation path should prove:
6270
- `validated_flow_id: youaskm3_mcp_validation`
6371
- no dependency on private Traverse internals or undocumented setup
6472
- the same Traverse v0.1 release pairing used by the compatibility conformance suite
73+
- the browser-hosted shell spec at `openspec/specs/pwa-shell/spec.md`
74+
- the downstream repo-local smoke validation at `scripts/smoke.sh`
6575

6676
## Known Failure Modes
6777

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# youaskm3 Real Shell Validation
2+
3+
This document defines the Traverse-side validation path for the real browser-hosted `youaskm3` shell against released Traverse consumer artifacts.
4+
5+
It is the evidence path for the downstream shell specification at [youaskm3/openspec/specs/pwa-shell/spec.md](https://github.com/enricopiovesan/youaskm3/blob/main/openspec/specs/pwa-shell/spec.md).
6+
This youaskm3 real shell validation is the Traverse-side proof path for the downstream browser-hosted shell.
7+
8+
## Governing Spec
9+
10+
- `specs/019-downstream-consumer-contract/spec.md`
11+
- `specs/020-downstream-integration-validation/spec.md`
12+
- `specs/021-app-facing-operational-constraints/spec.md`
13+
14+
## Purpose
15+
16+
Use one deterministic Traverse-side validation flow to prove that the downstream browser-hosted shell can consume the released Traverse consumer artifacts without relying on private Traverse internals or undocumented setup.
17+
18+
## Prerequisites
19+
20+
- A local Traverse checkout with the released consumer bundle documentation available.
21+
- A checked-out `youaskm3` repository available at `YOUASKM3_REPO_ROOT`.
22+
- The downstream repository exposes the browser-hosted shell spec at `openspec/specs/pwa-shell/spec.md`.
23+
- The downstream repository exposes its own deterministic smoke path in `scripts/smoke.sh`.
24+
25+
## Traverse Validation Path
26+
27+
Run the Traverse-side wrapper:
28+
29+
```bash
30+
bash scripts/ci/youaskm3_real_shell_validation.sh
31+
```
32+
33+
That wrapper validates the documented Traverse release artifacts first and then, when `YOUASKM3_REPO_ROOT` is set, verifies that the downstream shell repository is present and can run its own smoke path.
34+
35+
## Expected Evidence
36+
37+
The validation path should prove:
38+
39+
- the released Traverse consumer bundle is documented
40+
- the downstream browser-hosted shell spec is present
41+
- the downstream shell repo can be located through `YOUASKM3_REPO_ROOT`
42+
- the downstream shell can run its repo-local smoke validation
43+
- the observed path uses only documented public surfaces
44+
- at least one setup or incompatibility failure mode is detectable
45+
46+
## Known Failure Modes
47+
48+
The validation is expected to fail deterministically when:
49+
50+
- the released Traverse consumer bundle documentation is missing
51+
- `YOUASKM3_REPO_ROOT` is unset or points at the wrong repository
52+
- the downstream shell spec is missing
53+
- the downstream smoke path is unavailable
54+
- the downstream shell environment is missing its lint toolchain, which is detected when `scripts/smoke.sh` fails at the `eslint` step
55+
56+
## Validation
57+
58+
- `bash scripts/ci/youaskm3_real_shell_validation.sh`
59+
- `bash scripts/ci/youaskm3_integration_validation.sh`
60+
- `bash scripts/ci/repository_checks.sh`

scripts/ci/repository_checks.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ required_files=(
2525
"docs/app-consumable-release-artifact.md"
2626
"docs/youaskm3-integration-validation.md"
2727
"docs/youaskm3-compatibility-conformance-suite.md"
28+
"docs/youaskm3-real-shell-validation.md"
2829
"apps/browser-consumer/README.md"
2930
"apps/browser-consumer/package.json"
3031
"apps/youaskm3-starter-kit/README.md"
@@ -52,6 +53,7 @@ required_files=(
5253
"scripts/ci/youaskm3_compatibility_conformance.sh"
5354
"scripts/ci/browser_consumer_package_smoke.sh"
5455
"scripts/ci/youaskm3_integration_validation.sh"
56+
"scripts/ci/youaskm3_real_shell_validation.sh"
5557
"scripts/ci/app_consumable_release_prep.sh"
5658
"scripts/ci/mcp_stdio_server_smoke.sh"
5759
"scripts/ci/mcp_stdio_server_discovery_smoke.sh"
@@ -128,14 +130,21 @@ grep -q "mcp_stdio_server_execution_report_smoke.sh" docs/mcp-stdio-server.md
128130
grep -q "render_execution_report" docs/mcp-stdio-server.md
129131
grep -q "docs/youaskm3-integration-validation.md" docs/mcp-consumption-validation.md
130132
grep -q "docs/youaskm3-compatibility-conformance-suite.md" README.md
133+
grep -q "docs/youaskm3-real-shell-validation.md" README.md
131134
grep -q "docs/youaskm3-compatibility-conformance-suite.md" docs/app-consumable-entry-path.md
135+
grep -q "docs/youaskm3-real-shell-validation.md" docs/app-consumable-entry-path.md
132136
grep -q "docs/youaskm3-compatibility-conformance-suite.md" docs/mcp-consumption-validation.md
133137
grep -q "docs/youaskm3-compatibility-conformance-suite.md" docs/youaskm3-integration-validation.md
138+
grep -q "docs/youaskm3-real-shell-validation.md" docs/youaskm3-integration-validation.md
134139
grep -q "youaskm3 compatibility conformance suite" docs/youaskm3-compatibility-conformance-suite.md
135140
grep -q "version pairing" docs/youaskm3-compatibility-conformance-suite.md
136141
grep -q "bash scripts/ci/youaskm3_compatibility_conformance.sh" docs/youaskm3-compatibility-conformance-suite.md
137142
grep -q "bash scripts/ci/youaskm3_compatibility_conformance.sh" docs/youaskm3-integration-validation.md
138143
grep -q "the same Traverse v0.1 release pairing" docs/youaskm3-integration-validation.md
144+
grep -q "youaskm3 real shell validation" docs/youaskm3-real-shell-validation.md
145+
grep -q "openspec/specs/pwa-shell/spec.md" docs/youaskm3-real-shell-validation.md
146+
grep -q "bash scripts/ci/youaskm3_real_shell_validation.sh" docs/youaskm3-real-shell-validation.md
147+
grep -q "scripts/smoke.sh" docs/youaskm3-real-shell-validation.md
139148
grep -q "apps/browser-consumer/README.md" docs/mcp-consumption-validation.md
140149
grep -q "docs/app-consumable-consumer-bundle.md" README.md
141150
grep -q "docs/app-consumable-consumer-bundle.md" docs/app-consumable-entry-path.md
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
required_files=(
6+
"docs/youaskm3-real-shell-validation.md"
7+
"docs/youaskm3-integration-validation.md"
8+
"docs/youaskm3-compatibility-conformance-suite.md"
9+
"docs/app-consumable-consumer-bundle.md"
10+
)
11+
12+
for file in "${required_files[@]}"; do
13+
test -f "$file"
14+
test -s "$file"
15+
done
16+
17+
grep -q "youaskm3 real shell validation" docs/youaskm3-real-shell-validation.md
18+
grep -q "bash scripts/ci/youaskm3_real_shell_validation.sh" docs/youaskm3-real-shell-validation.md
19+
grep -q "YOUASKM3_REPO_ROOT" docs/youaskm3-real-shell-validation.md
20+
grep -q "openspec/specs/pwa-shell/spec.md" docs/youaskm3-real-shell-validation.md
21+
grep -q "scripts/smoke.sh" docs/youaskm3-real-shell-validation.md
22+
grep -q "released Traverse consumer artifacts" docs/youaskm3-real-shell-validation.md
23+
24+
if [[ -n "${YOUASKM3_REPO_ROOT:-}" ]]; then
25+
test -d "${YOUASKM3_REPO_ROOT}"
26+
test -f "${YOUASKM3_REPO_ROOT}/README.md"
27+
test -f "${YOUASKM3_REPO_ROOT}/openspec/specs/pwa-shell/spec.md"
28+
test -f "${YOUASKM3_REPO_ROOT}/scripts/smoke.sh"
29+
bash "${YOUASKM3_REPO_ROOT}/scripts/smoke.sh"
30+
fi
31+
32+
echo "youaskm3 real shell validation passed."

0 commit comments

Comments
 (0)