Repository navigation
Build and Testing
This repository is validated with Visual Studio/MSVC, CMake presets, CTest, and PowerShell guardrail scripts on Windows. The current non-Windows local environment cannot complete native acceptance because CMake, CTest, PowerShell, MSVC, and VCPKG_ROOT are unavailable there.
| Tool | Required Role |
|---|---|
| Visual Studio 2022 | MSVC compiler, MSBuild, CppUnitTest runtime, Windows SDK. |
| CMake 3.28+ | Preset-driven configure/build/test orchestration. |
| vcpkg | Dependency resolution for nlohmann-json; VCPKG_ROOT must be set. |
| PowerShell | Guardrail scripts. |
The repository currently exposes:
| Preset | Purpose |
|---|---|
debug |
Debug build with tests enabled. |
release |
Release build with tests disabled. |
The package-level windows-msvc-debug name is not a repository preset. Use debug for repository validation.
cmake --preset debug
cmake --build --preset debug
ctest --preset debug --output-on-failure.\Scripts\verify-forsetti-guardrails.ps1flowchart TD
Start["verify-forsetti-guardrails.ps1"]
Configure["cmake --preset debug"]
Build["cmake --build --preset debug"]
Tests["ctest --preset debug"]
Architecture["check-architecture.ps1"]
Dependencies["check-dependencies.ps1"]
Manifests["check-manifests.ps1"]
Compatibility["check-pr-compatibility.ps1"]
Scripts["test-guardrail-scripts.ps1"]
Pass["all guardrails passed"]
Start --> Configure --> Build --> Tests --> Architecture --> Dependencies --> Manifests --> Compatibility --> Scripts --> Pass
| Script | Purpose |
|---|---|
Scripts/check-architecture.ps1 |
Enforces one-way include boundaries and concrete-class rules. |
Scripts/check-dependencies.ps1 |
Checks forbidden includes, vcpkg dependencies, and CMake link boundaries. |
Scripts/check-manifests.ps1 |
Validates repository module manifests, schema/template compatibility, runtime requirements, default roles, exact platform casing, capabilities, duplicate IDs, and UI declaration consistency. |
Scripts/check-pr-compatibility.ps1 |
Checks reserved namespace use, test structure, test count baseline, namespace use, and raw allocation patterns. |
Scripts/test-guardrail-scripts.ps1 |
Regression-tests guardrail behavior. |
Scripts/verify-forsetti-guardrails.ps1 |
Runs the full local validation chain. |
| Suite | Coverage |
|---|---|
ForsettiCoreTests |
SemVer, manifest loading, module registration, compatibility, event bus, module communication, context scoping, entitlement providers, logging, UI surface manager, runtime lifecycle, activation rollback, restore diagnostics, and HostTemplate bootstrap behavior. |
ForsettiPlatformTests |
Registry storage, DPAPI secure storage, WinHTTP validation, local file export sanitization, telemetry no-op behavior, registration persistence, digesting, view factory registration, and default platform service registration. |
ForsettiArchitectureTests |
Include-boundary enforcement for core, platform, host, examples, and samples. |
Runtime-boundary alignment evidence is under .forsetti/alignment.
| Gate | Current Result |
|---|---|
| Repository JSON parsing | passed |
| Manifest validation over source, templates, samples, and tests | passed for 7 manifest files |
| Python discussion scripts compile/config validation | passed |
| Repository surface check | passed locally and in GitHub Actions |
git diff --check |
passed during alignment |
| Debug/Release CMake configure/build | blocked in the available local environment because CMake is not installed |
| Debug/Release CTest | blocked in the available local environment because CTest is not installed |
| PowerShell guardrail wrapper | blocked in the available local environment because PowerShell is not installed |
| MSVC compiler validation | blocked in the available local environment because cl is not installed |
| vcpkg validation | blocked until VCPKG_ROOT is configured |
The hosted workflow currently enforces repository surface markers on pull requests and pushes to main. Remote Windows build/test parity is not yet restored.
Local Windows/MSVC validation remains the native build/test source of truth until a remote Windows workflow is added, stabilized, and required.
Forsetti Framework - Windows. Proprietary. Patent Pending. Repository: https://github.com/flynn33/Forsetti-Framework-Windows