Skip to main content

Documented example verification

Independent execution review on 4 October 2026, on Windows with Node 22, in owned workspaces and isolated instance/port registries. This records actual example outcomes; it is not Linux/macOS, release or GA qualification.

Template-derived Todo services​

The current learning path uses dedicated repositories generated by GitHub from service-template: lasso-todo and lasso-todo-api. They own their runtime source, manifests, package/test/verify entrypoints and release pipelines. The Todo and API run as managed services using acquired release archives.

Independent review caught three publisher defects before release: workflow input placement, prerelease tag pinning and missing checksum declarations. The first published consumer attempt then exposed Core's health-check import serialization defect, tracked as #1669. Both producers use the supported singular form for their single HTTP check.

The original PostgreSQL pin failed first boot on the materialized data directory and detached the launcher. The preceding tutorial verification used an explicit local foreground adapter and did not qualify those published defaults. The corrected producer release below replaces that prerequisite; original failures remain retained under #1667.

Independent Windows consumer verification of the corrected development releases passed for Todo 2026.10.4-b6d089f and API 2026.10.4-9b45f09. Literal fresh imports and Core checksum acquisition passed. Released Admin installed, configured and started both services. Browser creation, refresh and Admin stop/start retained the same Todo data. Original JSON IDs migrated into real PostgreSQL; the Go API served the Todo proxy, returned an observable 503 during API outage, recovered and retained all original IDs after the three managed services stopped and restarted. The acquired Go binary identifies the exact clean release source commit.

Both service pipelines package Windows, Linux and macOS archives. Todo archive consumer checks run on all three; API additionally verifies its held Linux archive against real PostgreSQL. Full managed/Admin integration above was executed on Windows with the explicit PostgreSQL adapter. It does not qualify macOS PostgreSQL, whole-demo shutdown, upstream template admission or GA.

Earlier App-only identity stage (#1673)​

The fourth tutorial now adds Zitadel sign-in to the managed Todo app, rather than leaving the consuming application unspecified. Published Todo 2026.10.4-6f47534 targets 6f4753485dfa93a8a23e6f3d9751416d770042e3; all three platform source and extracted-archive checks plus publication passed in run 37213848505.

Signed HTTPS protocol fixtures directly exercise code + PKCE, nonce/state, signature/issuer/audience/expiry rejection, outage refusal, callback replay, CSRF/host denial, capacity, logout, restart invalidation and retained shared data. Those fixtures are separate from actual Zitadel/browser execution.

The local identity setup pins Zitadel 2026.9.25-93d4c84, Certificates 2026.9.25-588398b and corrected PostgreSQL 2026.10.4-1af7982. The application owns @todo-certs; the baseline certificate manifest and CA remain untouched. Provisioning uses declared create-only signed Broker IPC and preserves existing master-key/password references. The initial incorrect bootstrap-variable attempt remains failure evidence; FIRSTINSTANCE_ORG_HUMAN_* is the checked contract. Fresh initialization in a separate retained identity database passed browser login with the Broker-backed bootstrap password and no forced password change. The initial login name is [email protected]; the guide distinguishes it from the contact email. Re-running the public provisioning helper reported both references existing and unchanged.

Independent Windows execution acquired the actual released Todo archive through literal Core CLI import/install and verified SHA256 a8297a6f16e13cc283ef80ccc0a5187e1c276fdbb176d21f0e6faa3d32b8d5e6. A fresh owned Core loaded that exact artifact; an earlier in-memory held-artifact attempt was retained and excluded from released acceptance. Actual Zitadel test user login, App-protected Go API proxy reads/writes/reload, native confirmed Todo restart, re-login and logout passed. PostgreSQL retained all four original JSON IDs/titles, and the released Go API list matched the SQL rows.

Node verified the local CA chain. Browser verification used an isolated profile with the exact leaf SPKI pinned; it did not install OS trust or establish a machine-wide trust claim. Public /healthz stayed available; anonymous /todos was denied, and restart invalidated sessions while retaining data. Local sessions authorize the shared list, not per-user rows or direct remote API access. No Linux/macOS native identity, production deployment or GA claim follows.

Correction (#1692): that release protected Todo's front door only. The Go API still accepted direct anonymous reads and writes. The previous browser checks established App session enforcement, not API authorization. That gap was a defect in the SSO lesson, even though the API listened on loopback. The corrective release below adds API token validation; the earlier results remain recorded with this narrower scope.

Todo API authentication correction (#1692)​

The API now requires an explicit mode: anonymous for the preceding local lessons, or Zitadel for SSO. Missing or partial identity configuration fails startup. The secured API introspects each bearer access token over trusted HTTPS with a separate registered Basic API client and a private secret file. It checks active status, issuer, project audience, issuing Todo Web client, subject, token type and lifetime before accessing the database. Public health does not authorize Todo reads or writes.

Todo requests the project audience and keeps the access token only in its bounded server session. The proxy forwards that token, ignores browser-supplied Authorization headers and never falls back after API rejection. The paired configuration helper rejects older API manifests and configures API protection before enabling App sign-in. Both services must be stopped during changes.

New tests cover source middleware rejection and configuration, signed HTTPS OIDC forwarding, access-token expiry and extracted-archive execution. The proxy fixture uses a simulated API and does not establish Go enforcement or real Zitadel acceptance. Existing protected tests were not edited.

The first corrective publication, Todo 2026.10.4-9c6567f and API 2026.10.4-3e560cc, passed package pipelines but failed the literal Core import configuration check: Core's schema projection removes meta, including the API capability marker. The acquired archives were correct; the released helper refused to enable SSO on the imported manifest. That attempt is retained as a failure, not released acceptance. The subsequent correction publishes the non-secret capability in env.TODO_API_AUTH_CONTRACT, which import preserves, and tests the paired helper against a manifest with no metadata. Runtime startup uses the same capability and still requires matching secured settings.

On 5 October 2026, independent Windows execution passed with literal Core imports, actual checksum acquisition, the acquired paired configuration helper and managed launch of these final development consumers:

ConsumerExact published identityWindows archive SHA-256
AppTodo 2026.10.4-15dc4b9, source 15dc4b906224a360d91f0478acace04633fee70cf8c1ce5247d5118e939598b27b40ed44da9531743a304b026be99d2d71a86ebf
APIAPI 2026.10.4-02ef566, source 02ef5663a16a04dab1769bb33f0d5a168c525f8100d84ca8c04d701c44f228111e3196633a91c139b2a41f717ea58f4b441cbdb6

Todo publication run 37245621423 and API publication run 37245603210 passed all three platform package gates; the API also passed held Linux archive execution against real PostgreSQL. The independent managed identity boundary below was executed on Windows, separately from those hosted package gates.

Managed boundaryDirect result
Literal release importPreserved environment capability; no metadata repair or local archive substitution
Direct API GET/POST without a token or with an invalid bearer401; exact SQL rows unchanged
Real Zitadel password + PKCE browser loginSession established; access-token-forwarded create 201 and list 200
Persistence and managed App/API restartEight SQL rows, all previous IDs/titles retained; old session invalidated
Identity stopped with an authenticated sessionRead and CSRF-authorized write returned 503; SQL rows unchanged
Identity recoveryAuthenticated list recovered with retained data
LogoutOld cookie and anonymous App data requests returned 401

An earlier local-package integration also tested a real token for the wrong audience. Source TLS middleware fixtures cover expired/revoked/incorrect issuer/client/scope tokens and malformed/provider responses. Those are separate from the final released browser/API observations above. A test harness initially omitted the App's CSRF header and received the expected 403; the corrected positive write used the actual session CSRF token. Transient GitHub 500 responses during release checksum acquisition were retained; a later actual Core install succeeded without substituting local payloads. Private credentials, databases, certificates and failed attempts remain retained; inherited fixtures and host trust were not changed. No per-user list, native WebView SSO, production or GA qualification follows from this correction.

Corrected PostgreSQL producer release​

lasso-postgres 2026.10.4-1af7982 targets 1af7982802a1f996a35c86cf42417d35d222cf7c and includes a foreground launcher beneath the managed Node provider. It leaves install files outside the cluster, retains only the old sole empty placeholder outside that directory, refuses unexpected nonempty contents and removes the temporary initialization password. The released manifest pins the tag and binds archive SHA256 checksums.

All three platform jobs passed in publication run 37196595447. Held archives were tested for actual install files, foreground child identity, cold/warm SQL persistence, launcher stop/listener closure, abnormal child failure/recovery, old-placeholder recovery, retained-data refusal and configured max_connections=120. Windows hosted execution uses an ordinary account because the upstream server refuses administrative tokens. Its archive graceful stop uses parent IPC; that check is separate from native Core stop/start below.

Independent Windows consumption of the actual published archive passed literal release import, Core checksum acquisition, cold startup, SQL write, configured 120 connections, native confirmed Stop with port closure and Start retaining the original row. The observed PostgreSQL process is a descendant of the acquired Node provider and Core's managed process. No local tutorial adapter was used. Published Todo retained its original IDs through JSON-to-SQL migration; the published Go API served the proxy and recovered from a real 503 outage. Stopping and restarting all three services through native Core retained all three original Todo IDs.

The supplementary historical PostgreSQL smoke example keeps its old pin and adapter. Full native Core integration here was verified on Windows; hosted producer archive checks do not establish Core integration on Linux/macOS, Apple Silicon, whole-demo shutdown or GA.

Previous managed Todo execution (before template correction)​

The previous beginner, PostgreSQL and Go API examples were executed against real Service Lasso, not by manually starting the app binaries.

CheckObserved result
Add Todo to the default running inventoryDiscovered in the canonical demo and actual Admin UI
Install/configure/start through LassoReleased Node provider and Todo HTTP health passed
Todo browser create/refreshPassed; same saved ID and title retained
Admin Stop/confirmation/StartListener became unavailable, then restarted with the same todo
Add PostgreSQLPinned release acquired; real SQL create/list passed
Move beginner data to SQLOriginal JSON todo ID retained; later SQL todo survived restart
Add Go APIManaged dependency chain, actual browser proxy path and API log confirmed
Stop API and recoverTodo returned 503, then recovered through managed service actions
Restart application service chainAll prior todo IDs retained

The reviewer caught and reran fixes for the running inventory path, required manifest description and direct executable path. The earlier external-host architecture and comment-only Go sketch did not satisfy these lessons.

Todo desktop stage (#1679)​

The fifth tutorial uses the native Windows implementation in template PR #25. Its reviewed source candidate is 2372ca237dfe671a4b7bb1e6ae0d99a74a549c9f. Native Windows run 37219797993 compiled the application and NSIS installer; protected host regressions passed on Windows and in Linux run 37219797955. Existing protected tests were not edited.

BoundaryDirect observation
Packaged host dependenciesPortable Node 22, published Core 2026.9.22-f3de461, checksum-verified Admin 2026.8.31-f015b44
Released managed stackTodo 2026.10.4-6f47534, Go API 2026.10.4-9b45f09, PostgreSQL 2026.10.4-1af7982 installed/configured/started through real Core
Todo persistenceReal browser creation; API and Todo read the same ID after a full host restart
Seed preservationModified manifest and user-data sentinel remained unchanged after restart
Broker onboardingCanonical Core IPC consumer manifest completed bootstrap/authenticated readiness; same Broker remained healthy after 63 seconds
Credential acknowledgementReviewer custody retained privately; literal Copy/Continue/sign-in flow remains unqualified because verification did not write credentials to the shared clipboard
Owned shutdownHost exited zero after stdin shutdown plus EOF; exact PostgreSQL/API/Todo and Broker PIDs were absent afterward
Actual compiled native appUnchanged NSIS-extracted application created a native window, started real PostgreSQL/API/Todo and read the retained Todo ID; the normal CloseRequested handler exited zero and all five exact native/Node/service PIDs were absent
DiagramsAll five tutorial diagrams passed desktop/mobile and light/dark rendering: 20 views, readable labels and no page overflow

The first compiled candidate (019adef) failed before readiness because Node could not resolve Tauri's extended Windows resource path. The final source normalizes those paths. Earlier raw Broker-producer HTTP health failures remain retained; the corrected template uses Core's canonical IPC consumer definition. The legacy packaging fixture also lacked its declared executable; the packaging helper now creates that fixture without weakening its protected tests. Fixture installation is separate from the real released Todo execution above.

The native application SHA-256 is 9c2ea584f7e2b9ff1bd7e0fa2ad4fa0ae9419c7b00f014406c7a903ed1474a91; installer SHA-256 is 4912b21184d643284d7da283538411e09d806163972e3317b32ccb5f05e8c843. The held payload includes Node 22.23.3; no source or dependency was swapped for execution. The same implementation landed on template develop at 59a8039d5aa57bc60728f3e6e5fda461d6d7a825.

Native installer UI installation/uninstallation/upgrades, manual native-window interaction, code signing, offline service acquisition, embedded WebView SSO, macOS/Linux native execution and GA are separate, unqualified boundaries. The unchanged Core startup-crash suite still reports existing fixture failures; this docs-only change does not claim whole-Core acceptance.

Public Mac SSO checkpoint (#1704)​

The SSO article now recommends the public lesson-host route qualified on Intel macOS 11.7.11. Public lesson source 0d72fc40fe3147786fec97642b658389bb063b63 contains the reviewed stage04 implementation; its frozen author head was d9d27754b17db6e0e6ad6534548668ed35f7c9ff. Lesson #9's direct acceptance record retains the literal consumer results and original failed attempts.

Identity release 2026.10.5-d7e04eb targets d7e04ebd9489ddc8c6798e408cd8ce7992711146. Producer run 37327998201 passed all eight full source/actual binary scans and five hosted native gates. All thirteen public assets and twelve checksum entries were read back; seven staged qualification files matched the published bytes. That producer proof is distinct from the literal Mac lesson below.

BoundaryDirect observation
Public consumptionPublished Core/Admin, selected Intel macOS 11 Broker/Identity profiles, normal checksum-bound acquisition/configuration/start
Private provisioningHidden Node prompt; invalid input/cancellation launched no child; create-only Broker references and protected private API credential file
Paired applicationReal Web PKCE login, authenticated App/API reads/writes, SQL IDs retained on refresh
DenialsAnonymous/malformed and genuine other-project API tokens returned 401; CSRF returned 403; SQL unchanged
Identity outageAPI reads/writes returned 503 without SQL mutation; recovery returned 200
LifecycleRestart invalidated sessions; relogin retained rows; logout invalidated the old cookie; full Core reopen retained identity users/projects and Todo IDs
Setup retention/shutdownNineteen manifest/credential/certificate files and three Node symlink targets preserved; owned processes and listener range empty afterward

Exact lesson test run 37347837393 and Windows desktop run 37347837387 passed. They do not replace the native Mac application/provider observations. Natural access-token expiry was not verified; temporary isolated provider settings were restored. ARM macOS 11, native Mac desktop, all-platform full SSO and GA remain unqualified. The earlier manual Windows Core route and its pins remain separate; existing wider Core failures are not repaired by this article. Documentation merge, publication and exact live source readback are separate acceptance steps.

Wider example inventory (earlier review)​

Article/exampleObserved result and remaining boundary
PostgreSQL source smoke exampleSQL/HTTP, stop/restart and setting 120 passed with isolated registries
Packaged PostgreSQL recipientPack, unpack, install, setup and real SQL/HTTP passed
Reference host sources: Node, web, Electron, Tauri, pkg, SEA, nexeDependency install passed; source startup needs an absent sibling Admin build. #1660
pkg/SEA/nexe Windows wrappersBuilds and host/API/Admin HTTP passed; Echo failed to launch its missing fixture command. #1661
Harness starter, latest reviewed developPackage/contract validation passed; Windows direct execution failed. The article's historical source pin is a separate boundary. #1662
Wire-consumers importOld illustrative Dagu tag returned 404; current Dagu manifest also fails validation. #1664. The article now uses a pinned PostgreSQL manifest whose dry-run and real import passed
Canonical demo first-run and Todo AdminFresh onboarding, credential acknowledgement, sign-in and Todo service actions passed
Canonical demo recycle/shutdownRecycle bootstrap fails at Broker startup; stop can report already stopped while owned listeners remain. Unqualified; #1665
Existing shared-host instance registryLiteral startup exceeded the registry size limit; inherited metadata preserved. Isolated registries allowed tests. #1663
ZITADEL SSO HubBlocked on operator CA trust, secret provisioning and a registered consumer; no end-to-end SSO claim
Native shells, other operating systems and external release authoringNo native/platform/release acceptance; source/packaging checks do not establish it

Schema fragments, service plans and release checklists are authoring material, not complete standalone examples. Commands containing repository/issue placeholders need real targets; this review did not create or publish external repositories. Runtime API/CLI operations were exercised for the examples above, not every mutation in the reference manual.

Original failures and exact source/artifact identities remain in the private review receipt. Only review-owned processes were cleaned up; inherited state, unrelated services and host trust were preserved. These findings remain open where linked, rather than being replaced by an all-examples-pass claim.