Skip to content

feat(config): add typed TOML application manifests - #60

Merged
nick2781 merged 10 commits into
mainfrom
codex/toml-service-manifests
Oct 16, 2026
Merged

nick2781 merged 10 commits into
mainfrom
codex/toml-service-manifests

Conversation

@nick2781

@nick2781 nick2781 commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Applications can now select plugin libraries and configuration files with a validated TOML manifest through the existing -a / --app_conf option. Existing XML manifests remain supported. Invalid input, duplicate or empty plugin names and embedded NUL characters are rejected before plugin initialization, and TOML errors never fall back to XML. Error messages report the manifest path and available location without echoing configuration values.

The ark::config target keeps parser dependencies private, with a standard-library-only public result and reader API. This change includes an equivalent sample manifest, native parser regressions, and bilingual Nimbus guides with navigation, legacy redirects and AI-readable Markdown. Directory-prefix behavior, working-directory resolution and unordered plugin initialization are documented explicitly; this does not introduce dependency ordering or live reload.

Validation on macOS: complete clang-format 18 check; 19 CI policy/README tests; six site content tests and full Astro/site-link checks; incremental Release core 16/1750, XML 7/30, manifest 12/213 and 39 shutdown checks; ASan/UBSan manifest 12/213; application/utility/sample targets; real TOML/XML/Unicode startup and orderly shutdown, plus five rejected-input paths. The final source retains the original PR's runtime/CMake/test/config bytes and the reused builds' recorded source bindings. Fresh required GitHub CI remains the cross-platform merge gate.

Launcher error handling

Validate the manifest before starting the Windows console thread, so an invalid manifest returns exit code 1 without leaving a joinable global thread. Add four real-launcher subprocess cases for a missing file, malformed TOML, malformed XML and a field with the wrong type; require normal exit 1 and the manifest diagnostic. The application CI matrix runs these cases through check-core.

The new launcher cases and combined source-layout/core/network/private-database build were exercised locally on macOS. Native Windows execution remains part of the fresh required CI; no change to normal shutdown policy is included.

@nick2781 nick2781 changed the title Add typed TOML application plugin manifests feat(config): add typed TOML application manifests Oct 16, 2026
@nick2781
nick2781 marked this pull request as ready for review October 16, 2026 08:10
@nick2781
nick2781 enabled auto-merge (squash) October 16, 2026 08:10
@nick2781
nick2781 disabled auto-merge October 16, 2026 11:15
@nick2781
nick2781 added this pull request to the merge queue Oct 16, 2026
Merged via the queue into main with commit a22b157 Oct 16, 2026
16 checks passed
@nick2781
nick2781 deleted the codex/toml-service-manifests branch October 16, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant