RhoeJSON Public Staging Status
Status: Phase 25 Sprint 4 QA hardening Target release: 0.1.0 License: Apache 2.0
RhoeJSON is staged as a source-only public release candidate for RhoePlatform/RhoeJSON. The staging folder is intentionally not initialized as a git repository yet, so the eventual public repository can start with one clean initial commit after certification.
Current Readiness
The public package has a lean first-wave boundary:
- SwiftPM package metadata, products, and targets are normalized for
- Core package products build:
RhoeJSONKit,RhoeJSONFormatKit, JSONSchemaAIGeneratoris documented as an optional macOS-only Apple- The
rhoejsonCLI exposes the planned public command families:query,jq, - The
jqcommand provides a practical jq-inspired subset for common command-line - Forward references between user-defined filters are pinned as a
- The
jqcommand includes exact-compatible input/output flag aliases for - The preview daemon and macOS menu-bar companion have Swift Testing coverage
- The cutover verifier runs SwiftPM package dumping, target builds, product
RhoePlatform/RhoeJSON.
RhoeJSONBinaryCodec, RhoeJSONFilter, RhoeJSONCLIEngine, RhoeJSONPreview, RhoeJSONWasm, rhoejson, and rhoejson-preview-menu.
Foundation Models system API. It is guarded by os(macOS) && canImport(FoundationModels) and is intentionally absent from Linux and WASM public surfaces.
format, validate, convert, patch, stream, preview, and the hidden preview daemon command.
selection, projection, and lightweight transformation workflows without claiming full jq compatibility. The current subset includes literals, arithmetic and boolean operators, // defaults, conditionals, selectors, entry transforms, sort/group/unique/min/max helpers, string predicates, range, flatten, first/last/nth helpers, any/all predicates, join/split, substring index helpers, conversions, path arrays, paths, getpath(...), setpath(...), generator-backed mutation, lexical variables, reduce, foreach, destructuring bindings, try ... catch, while, until, recurse, walk, input, inputs, no-argument def, filter-argument def name(f; g): ... functions, recursive user functions, regex helpers, jq-style string interpolation with "\(...)", trim/codepoint helpers ltrimstr(...)/rtrimstr(...)/explode/implode, jq-style format encoders, deterministic math helpers, error(...), halt, halt_error(...), del(...), delpaths(...), with_entries(...), and typed collection filters.
RhoeJSON-inspired extension rather than exact jq compatibility.
null input, raw input, slurp, raw output, raw-output0, join output, ASCII output, compact output, sorted keys, indentation, tab indentation, and exit status, -f / --from-file program loading, plus jq-compatible multiple input paths / multiple JSON texts, --arg name value / --argjson name JSON / --rawfile name path / --slurpfile name path variable binding flags, --args / --jsonargs positional binding through $ARGS.positional, and staged name=value conveniences.
for route registration, control-client behavior, menu title formatting, and daemon lifecycle surfaces.
builds, tests, CLI smoke tests, and menu status smoke tests.
Hardening Added In This Sprint
- Added a public hygiene verifier that rejects generated artifacts, machine-local
- Wired the hygiene verifier into the cutover script so future public extraction
- Removed process-oriented staging prose from public docs and replaced it with
- Cleaned Swift warnings in schema generation, validation, mutation, diff
- Reworded hidden preview and unsupported server messages so public CLI output
- Added the
RhoeJSONFiltertarget andrhoejson jqcommand after the initial - Added public governance, security, changelog, release process, GitHub
paths, stale organization names, process-provenance markers, legacy version strings, license drift, and deferred product codenames.
passes fail early when staging drift returns.
release-candidate status language suitable for contributor review.
application, and tests.
describes the package boundary without referencing internal implementation lanes.
hardening pass to cover jq-shaped muscle memory in the first public CLI wave, then expanded the subset with arithmetic/default flow, typed selectors, entry transforms, keyed sorting/grouping/deduplication, aggregation helpers, and string predicates.
maintainer gate, release-candidate gate, Linux CLI gate, and release-readiness roadmap scaffolding.
Remaining Before Initial Commit
- Build the public documentation site and verify the generated Pages artifact.
- Add the examples gallery and render-all validation once the gallery surface is
- Generate and check in CLI manual and shell completions.
- Add Homebrew formula and bottle validation matching the platform tap pattern.
- Run Linux and WASM SDK checks on the available toolchains.
- Consolidate script path casing before final public cutover, or keep both
- Run a final source-only audit to confirm
.git,.build,Package.resolved,
finalized.
Scripts and scripts intentionally mirrored with documented rationale.
.DS_Store, and other generated artifacts are absent.
Guardrails
- Do not run
git inituntil every local QA gate passes. - Do not tag
v0.1.0until CI, documentation, Homebrew validation, Linux/WASM - Keep first-wave scope focused on the JSON engine, CLI, preview daemon, WASM
- Keep broader platform orchestration, app surfaces, connector workflows, and
checks, and the final public hygiene audit pass.
facade, docs, tests, examples, and release tooling.
downstream product-specific examples outside this public repository until they have their own contributor boundaries.