-
Notifications
You must be signed in to change notification settings - Fork 0
test: close host-testable coverage gaps (handler, nested-AppConfig checker, AdapterPushContext, run_native_cli, compression) #285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
aram356
wants to merge
300
commits into
main
Choose a base branch
from
spec/test-coverage-gap
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
300 commits
Select commit
Hold shift + click to select a range
b1b0453
Remove float_arithmetic allow; use integer ms in request logger
aram356 855dda9
Document why exhaustive_enums stays as workspace allow
aram356 b30f353
Remove missing_inline_in_public_items allow; add #[inline] to ~321 fns
aram356 2a6c22c
Rename Manifest::secret_store_name → secret_store_binding
aram356 4932aee
Bump checkout/setup-node/cache actions v4 → v5 (Node 24 runtime)
aram356 e758803
Bump remaining CI actions to current latest majors
aram356 2e7b689
Merge remote-tracking branch 'origin/main' into chore/strict-clippy
aram356 91ffc82
Upgrade redb 4.0 → 4.1
aram356 5577695
Fix CodeQL rust/cleartext-logging by dropping binding name from log
aram356 a26704f
Fix CodeQL rust/cleartext-transmission (#9, #10): rename test helper
aram356 0e930ed
Add tests for behaviour added in this PR
aram356 1f80519
Upgrade ctor 0.10 → 1.0; document spin-sdk 6.0 MSRV gap
aram356 89b68f0
Upgrade toolchain to rust 1.95.0; bump viceroy to 0.17
aram356 97d02de
Fix two clippy warnings only visible on no-features build
aram356 41871df
Pull edgezero_adapter_axum::dev_server::run_app via use in app-demo
aram356 d2f79f2
Fix spin CI: pin wasmtime via .tool-versions + direct GitHub tarball
aram356 459eee5
Address PR review comments
aram356 fb2e816
Surface invalid handler paths via compile_error! instead of panicking
aram356 308204f
Document pub_with_shorthand with verbatim clippy diagnostic
aram356 67d0cdf
Add design spec for extensible edgezero-cli library
aram356 a78284c
Expand CLI extensions spec to cover all 7 sub-projects
aram356 f1fdbfe
Apply review feedback and add secret annotation to CLI extensions spec
aram356 2e6904b
Expand spec for multi-store manifest + finalize naming and validate s…
aram356 0c1e118
Apply second-pass review: runtime API completeness, Cloudflare KV, se…
aram356 197b4f9
Third-pass review: async ConfigStore, env overlay, extractor refactor
aram356 1b41ad7
Fourth-pass review: manifest discrimination, Hooks split, env coercio…
aram356 f0aed20
Fifth-pass review: hard cutoff, Spin as first-class store adapter, on…
aram356 27a6169
Sixth-pass review: close Spin integration design holes
aram356 fd2ef43
Seventh-pass review + dev→demo rename + documentation step
aram356 1533464
Eighth-pass review: three minor fixes (no blockers remain)
aram356 d7eff52
Ninth-pass review: three minor notes (reviewer sign-off, no blockers)
aram356 fe5dce1
Add implementation plan for CLI extensions (8-commit PR)
aram356 a542f28
Fix six plan-review findings (plan + spec)
aram356 1e6f3f3
Tighten plan: four review findings before execution
aram356 23b76ca
Plan: wire new commands into the default binary, upgrade scaffold, al…
aram356 c63dad0
Plan: fix three crate-dependency gaps for typed-config wiring
aram356 df7751e
Plan: generator context for config type name + validator workspace seed
aram356 82be804
Plan: fix generated-CLI import path + guarantee valid NameUpperCamel …
aram356 166c2df
Fixed formatting
aram356 4e814ba
Address PR review: stale scaffold deps + KV pagination scan-cap bug
aram356 1d582dd
Commit 1: extensible edgezero-cli library + generator + app-demo-cli
aram356 06f4b72
Make `demo` example-only; `serve --adapter axum` runs the axum adapter
aram356 3f6151d
Plan: mark Commit 1 done, fix stale branch/path, expand Fastly in Com…
aram356 e5a9a4f
Spec: document the namespaced args API (edgezero_cli::args::*)
aram356 8a00fe5
Address PR review: scaffold templates fail their own clippy/test gate
aram356 5d5f92d
Merge remote-tracking branch 'origin/main' into chore/strict-clippy
aram356 f6acd93
Merge remote-tracking branch 'origin/chore/strict-clippy' into featur…
aram356 247cb74
demo: run app-demo via run_app for full manifest setup
aram356 0b0c914
Plan/spec: rename "Commit N" to "Stage N"
aram356 4565b30
Formatting
aram356 6463ba1
Make demo a contributor-only command; rename feature to demo-example
aram356 8d16ba9
Fix binary name, stale dev docs, and scaffold drift
aram356 e29b749
Generate path dependencies to the local edgezero checkout
aram356 cc7ff45
Verify the full generated workspace compiles, not just the CLI crate
aram356 0c2919e
Merge remote-tracking branch 'origin/main' into chore/strict-clippy
aram356 ca357c4
Fix generated-README serve command; align plan/spec with 4-command CLI
aram356 3d1ed25
Drop redundant cfg attributes in spin KV/secret store modules
aram356 5fe5834
Merge remote-tracking branch 'origin/chore/strict-clippy' into featur…
aram356 2277072
Wire generated-project compile check into CI; fix stale plan lines
aram356 1d95345
Fix generated wasm adapters and project-name sanitisation
aram356 72ec5ee
Plan: clear stale PR #253 gating and five-built-ins references
aram356 58c8e91
Spec/plan: revise Stage 2 to the portable-manifest + EDGEZERO__ design
aram356 f5bd432
Stage 2 Task 2.1: portable manifest store schema
aram356 46248f9
Stage 2 Task 2.2: EDGEZERO__* environment-config layer
aram356 6a64847
Stage 2 Tasks 2.3 + 2.4: bake portable stores into Hooks; drop manife…
aram356 82ee8d3
Stage 2 Task 2.5: async ConfigStore, new KvError variants, store regi…
aram356 34c9722
Stage 2 Task 2.6 (partial): axum store registries; Spin KV uses new e…
aram356 d21db4d
Stage 2 Task 2.6 (partial): fastly store registries
aram356 6850aa0
Stage 2 Task 2.6 (partial): spin store registries + paginated list_ke…
aram356 f817bcc
Stage 2 Task 2.6 (partial): cloudflare store registries; CloudflareCo…
aram356 f76c18a
Stage 2 Task 2.6 (final): axum end-to-end registry dispatch tests
aram356 b6f892f
Stage 2 Task 2.7: Kv/Secrets/Config extractors switch to default()/na…
aram356 30a68b7
Stage 2 Tasks 2.8 + 2.9: docs migration + Stage 2 ship gate
aram356 2c1c54f
Address Stage 2 review: provision app-demo platform bindings; trim de…
aram356 893d961
Address Stage 2 follow-up review: explicit-env manifest typos, cloudf…
aram356 73d4d61
Refresh edgezero-cli README and scaffold README to match Stage 1 surface
aram356 b32f4ff
Address Stage 1 docs review: README feature flags, library API sample…
aram356 4c9c645
Spin config dotted-key translation; exclude internal specs from ViteP…
aram356 4717cbd
Address Stage 2 review: config registry handler path, axum local-file…
aram356 667097c
Address Stage 2 review: unify axum bind contracts, seed local-config …
aram356 8942ec2
Address Stage 2 review: spin component field, bind-vs-env precedence,…
aram356 b58d072
Refresh stale Stage 2 docs: adapter entrypoints, plan status, Manifes…
aram356 95f931d
Refresh plan's Codebase Facts block for post-Stage-2 substrate
aram356 1de4b64
App-config schema, #[derive(AppConfig)] macro, env-overlay loader
aram356 8a52391
Address Stage 3 review: container rename_all, non-table config, AppCo…
aram356 14e36c2
Address Stage 3 review: reject #[serde(skip_serializing_if)] on #[sec…
aram356 719f08d
config validate command (raw + typed)
aram356 66a89cc
Address Stage 4 review: Spin selector, store_ref collision, app-demo …
aram356 b917723
Address Stage 4 review: wire #[validate(nested)] through app-demo + s…
aram356 0774256
Drop the [config] wrapper: <name>.toml IS the typed struct
aram356 22b41fb
Dispatch adapter-specific validation via an AdapterCheck trait
aram356 ef3f14d
Stage 4 review followups: scaffold-test parse, KV docs, env-segment e…
aram356 8d8074f
auth command (adapter-trait dispatch, no hardcoded table)
aram356 94a0191
Hoist run_native to cli_support + sweep stale CommandRunner refs
aram356 d3ec92d
config validate via Adapter trait — adapters own their own rules
aram356 9a0369b
Stage 6.1: provision dispatch via Adapter trait + axum impl
aram356 d905e42
Stage 6.2: cloudflare provision (wrangler shell-out + wrangler.toml w…
aram356 79a54b6
Stage 6.3: fastly provision (fastly CLI shell-out + fastly.toml write…
aram356 0933440
Stage 6.4: spin provision (pure spin.toml editing, no shell-out)
aram356 bc0a705
Stage 7.1: config push command (trait + axum impl + CLI raw/typed)
aram356 74d596a
Stage 7.2: cloudflare config push (wrangler kv bulk put)
aram356 d852f3f
Stage 7.3: fastly config push (config-store-entry create per key)
aram356 57c7eb3
Stage 7.4: spin config push (pure spin.toml editing, two tables)
aram356 3d3f87c
Stage 8.1: app-demo spin.toml — declare manual secret variables
aram356 9fdd1f4
Stage 8.2: app-demo integration tests for the typed CLI flow
aram356 26fddcc
Stage 8.3: app-demo handlers exercise Kv::named (sessions + cache)
aram356 723dafe
Refresh plan status to reflect Stages 6/7/8 progress
aram356 a4f7c81
Stage 8.4: generator cli template emits the full 7-command surface
aram356 45aef3d
Stage 8.5: app-demo e2e push→AxumConfigStore→handler roundtrip test
aram356 7d01061
Stage 8.6: CI wires app-demo workspace into tests + fmt + clippy
aram356 a3b7a89
Stage 8.7: cli-walkthrough.md + docs audit + sidebar + build fix
aram356 55fe91b
Stage 9.1 (review fix): run_config_push* runs the strict preflight
aram356 b531f5a
Stage 9.2 (review fix): Spin secret-value validation mirrors runtime …
aram356 2cc85d1
Stage 9.3 (review fix): enforce runtime store-API hard-cutoff
aram356 6592918
Stage 9.4 (review fix): assert Spin dry-run preview content (translat…
aram356 8ad9040
Stage 9.5 (review fix): refresh PR template, run_tests.sh, migration …
aram356 b1b5dca
Stage 10.1 (review fix): full runtime store-API hard-cutoff
aram356 6876578
Stage 10.2 (review fix): docs / plan / CLAUDE.md align with hard-cutoff
aram356 fd69b49
Scrub stage/task/phase/section refs from source comments
aram356 6f067a2
Harden fastly cli: schema-drift detection + partial-fail tracking
aram356 a96cf68
Harden cloudflare cli: idempotent provision + lenient push dry-run
aram356 65794b3
Spin cli UX polish: per-mode key diagnostics + table migration hint
aram356 4e7f014
Doc polish: AuthArgs no-Default rationale + axum from_path JSON shape
aram356 56cbf08
Add precedence test for synthesised one-id store registry
aram356 b4c5da3
Close remaining L2/L4/L5/L6 self-review followups
aram356 fe79025
Close deep-review findings: scaffold + spin inline + fastly half-setu…
aram356 6a5d89e
Close all remaining deep-review findings (cloudflare/fastly/spin/scaf…
aram356 6274a3f
Close provision capability gap: enforce Single-store on the operator-…
aram356 2a3ad63
Fix env precedence + drop axum legacy EDGEZERO_HOST shim
aram356 5cc742b
Fix env-overlay prefix shown in scaffold templates + app-demo comments
aram356 cea89ed
Close all multi-review findings: platform-name flow + hard-cutoff + t…
aram356 9d31015
Hard-cutoff pass: empty-name guard + drop EDGEZERO_KV defaults + Serv…
aram356 05f052e
Extract test-fixture consts in cloudflare/fastly/spin cli.rs test mods
aram356 684c5f2
Don't log adapter passthrough args — can carry deploy secrets
aram356 f2ad3f0
clippy --fix auto-applied for wasm32 adapter targets
aram356 83ca833
Make fastly contract test pass wasm32-wasip1 clippy
aram356 9c5d77b
Add per-target clippy matrix for adapter wasm builds
aram356 49d1d70
Move adapter wasm clippy matrix from test.yml to format.yml
aram356 d5d92f7
wasm32 clippy: clean cloudflare context.rs and secret_store.rs
aram356 969dd2a
wasm32 clippy: clean cloudflare response.rs and proxy.rs
aram356 7da3dc1
wasm32 clippy: clean cloudflare config_store.rs
aram356 04aa617
wasm32 clippy: clean cloudflare key_value_store.rs
aram356 564a0a8
wasm32 clippy: clean cloudflare lib.rs and request.rs
aram356 7eca8cd
wasm32 clippy: clean cloudflare contract.rs
aram356 b83d06c
wasm32 clippy: clean spin response/secret/config small files
aram356 a432c1e
wasm32 clippy: clean spin lib.rs and key_value_store.rs
aram356 3d808ab
wasm32 clippy: clean spin proxy.rs and request.rs
aram356 483a8a7
wasm32 clippy: clean spin contract.rs
aram356 1438972
Address remaining PR #257 review feedback
aram356 487ac5f
Upgrade Spin adapter to spin-sdk 6.0 (WASI Preview 2)
aram356 16898f8
Close PR #257 self-review followups: store id validation + docs lint
aram356 611064e
Merge origin/chore/strict-clippy into feature/extensible-cli
aram356 910739d
Pass strict clippy on wasm32 adapter targets
aram356 4928cdc
Close PR #257 self-review followups: store id validation + docs lint
aram356 990feb8
Print log when validating config
aram356 c61670f
Skip Fastly logger init when no endpoint is configured
aram356 b4c80e9
Add config push --local for fastly + cloudflare; delegate for spin/axum
aram356 7655955
Spin config store: switch from variables to KV backend
aram356 cef8e80
Spin seed handler + run_app_with_seeder for `config push --local`
aram356 42fed2b
config push: HTTP POST to seed handler for spin; AdapterPushContext
aram356 dc4ab33
Spin KV-config Stage 5: provision writes config labels to key_value_s…
aram356 5873523
Spin KV-config Stage 6: drop Spin's variable-name validator
aram356 048b6cb
Spin KV-config Stage 7: docs + app-demo migration
aram356 4353a1c
Spin KV-config Stage 8: runtime-config.toml scaffold + plan/spec clos…
aram356 b3da439
spin: PR-thread review fixes + per-backend-push plan
aram356 e788714
Address June-02 PR #257 review feedback
aram356 fc41491
spin: drop /__edgezero/config/seed handler (architecture pivot)
aram356 d4e392e
spin: per-backend writers (SQLite-direct + Fermyon Cloud shellout)
aram356 0be7444
spin: address review findings on per-backend dispatcher
aram356 7dd6ab6
spin: fix `spin cloud key-value set` shape + non-default-label gate +…
aram356 762c426
spin: fix parallel-test env race, switch cloud push to --app + --labe…
aram356 af47a2b
spin: fix `link key-value` hint shape; scaffold doc; hermetic mock-sp…
aram356 1b7342f
Merge origin/chore/strict-clippy into feature/extensible-cli
aram356 0807767
spin: race-free push tests, defer runtime-config parse for cloud, doc…
aram356 f1179df
scaffold/cloud-dryrun/docs: fix CF template, validate cloud --dry-run…
aram356 62f07ef
spin/docs: partial-failure cloud-push diagnostic + 3 stale-doc fixes
aram356 f374351
spin: silence strict-clippy on cloud partial-failure diagnostic
aram356 0f2f6df
docs: prettier-format cli-walkthrough Spin config-push bullets
aram356 c5652d3
strict-clippy: address PR review feedback (round 2)
aram356 3082391
Merge origin/chore/strict-clippy (round 2) into feature/extensible-cli
aram356 e1d7753
PR #269 review: fix .with_secrets() bug, plug CF orphan + Fastly argv…
aram356 453a44b
strict-clippy: cloudflare scaffold + handlers.md doc fixes
aram356 4079cde
PR #269 review round 2: CF push --remote/--local + cwd, kv-config col…
aram356 a04814d
Merge origin/chore/strict-clippy (round 3) into feature/extensible-cl…
aram356 3d7b42e
scaffold: generate adapter-aware .tool-versions for new projects
aram356 c666132
Merge remote-tracking branch 'origin/main' into chore/strict-clippy
aram356 9175cff
Merge origin/chore/strict-clippy (redb 4.1.0 bump, main-into-branch s…
aram356 dfb00b3
strict-clippy: round-4 review feedback (test.yml, cli logger, docs)
aram356 a9ae306
PR #269 review round 4: case-insensitive [adapters.*], deny_unknown_f…
aram356 e526e6b
Merge origin/chore/strict-clippy (round 4 — test.yml + CliLogger + ha…
aram356 2eeccc9
Merge origin/main (PR #257 squash-merge + round-5 CliLogger fix) into…
aram356 6416bbd
Add blob app-config design spec
aram356 a73fc61
Apply round-18 review: Fastly cap, split workaround, parent help, mis…
aram356 0ee9302
Apply round-19 review: align §6.3 missing-blob mapping with Q3 reversal
aram356 d5e4ac0
Apply round-20 review: §5.2.1 missing-blob + Spin Cloud CLI accuracy
aram356 2716b77
Apply round-21 review: pin canonicaliser to in-tree hand-rolled walker
aram356 203594b
Apply round-22 review: migration scope, sketch fix, Q9 drop, phasing …
aram356 d3b6c12
Apply round-23 review: phasing honors atomic cutoff, kind/header tests
aram356 9449115
Apply round-24 doc-hygiene: stale commit counts + Status header
aram356 9f668b3
Add blob app-config implementation plan
aram356 1df7cbb
Apply round-26 spec carve-out: §10.2.2 Diff template phasing note
aram356 a89be3b
Fixed formatting
aram356 86d6d6e
Plan C4 Step 2: update read-back call to writer-mirror signature
aram356 19ca227
Apply round-27 review: read payload type, D2 branch table, Spin dispa…
aram356 47f8533
Apply round-28 review: ConfigStoreError mapping, Spin strictness, esc…
aram356 2bbb7c0
Apply round-29 review: Spin path resolver parity, per-adapter __KEY t…
aram356 1f07aaa
Apply round-30 review: Axum builder location, per-adapter §12.7, adap…
aram356 b864baa
Apply round-31 review: diff exit codes, E2 smoke commands, spec drift
aram356 ecb6f13
Apply round-32 review: C4 verify-before-compare, DiffExit propagation…
aram356 e0e61f6
Apply round-33 review: missing-remote diff, subtree narrowing, cfg ga…
aram356 77a5729
Apply round-34 review: short_ref, nested field paths, manual Default …
aram356 725c18a
Apply round-35 review: similar-based diff over normalised JSON
aram356 25c7b1d
Apply round-36 review: validator Cow key, push re-fetch, prettier
aram356 6a69da0
Apply round-37 review: scope fix, similar test shape, table pipes
aram356 4762bb3
Apply round-38 review: widen re-fetch gate, fix spec example
aram356 e0ed4ed
Apply round-39 review: plan hygiene cleanups
aram356 7ed2825
Add canonical form, blob envelope, non-finite-float rejection
aram356 5d72674
Add binding + manifest charset + EnvConfig::store_key + read trait
aram356 a6e1344
Cutover: blob app-config runtime + writers + app-demo + gates
aram356 1b0e940
Add config diff command
aram356 93f72fe
Add Fastly chunked-config storage for oversized app-config envelopes
aram356 ff921eb
Add migration guide, smoke scripts, README updates
aram356 226d5d0
Gate Fastly chunked-config writer items behind cli feature
aram356 3696834
Fix Phase E smoke script portability and guide cleanup recipe
aram356 cdbad07
Smoke: hit /config/typed and keep tracked fixtures across staging+def…
aram356 b52e6c2
Address Phase E re-review + strip plan-process language from comments
aram356 699bdc9
Smoke: fail-loud port check + auto-seed per-adapter secrets
aram356 b7e33eb
spec: round-7 deep-review revisions to test-coverage-gap
aram356 8424178
test(core): cover DynHandler::call and IntoHandler bridge
aram356 d502a8c
test(cli): cover nested-AppConfig checker syn helpers
aram356 719e700
test(adapter): cover AdapterPushContext builder
aram356 8d705c4
Smoke: fix Fastly TOML form + Spin variable wiring + log line
aram356 f92bbc6
test(adapter): cover run_native_cli not-found and non-zero-exit paths
aram356 63433f5
test(core): cover gzip and brotli decode error paths
aram356 c64558a
Unblock app-demo CI + fail-loud smoke harness
aram356 1ac081a
fix(test): satisfy strict clippy in new coverage tests
aram356 1431146
Smoke: reset per-adapter local emulator state before each row
aram356 e9e7f1d
Merge branch 'feature/extensible-cli' into spec/test-coverage-gap
aram356 9141202
Merge branch 'feature/extensible-cli' into spec/test-coverage-gap
aram356 ae1d257
Cloudflare: classify Wrangler 4.x 'Value not found' stdout as MissingKey
aram356 89f5926
Cloudflare __KEY override, Spin smoke variable, Viceroy serve
aram356 d39606f
Smoke: Fastly wasm path + tracked Spin fixture + Spin compat skip
aram356 959edda
Fastly: read EDGEZERO__* runtime overrides from a Config Store
aram356 d0affd8
Fastly: provision owns edgezero_runtime_env + runtime warns on missing
aram356 bf177b1
Fastly provision: emit resource-link note for edgezero_runtime_env too
aram356 f9df007
Merge branch 'feature/extensible-cli' into spec/test-coverage-gap
aram356 2cdccdd
test: close Tier-2 backlog (Adapter trait defaults + app! build_route…
aram356 69fe76b
Merge branch 'main' into spec/test-coverage-gap
aram356 74981d8
test: harden coverage after adversarial self-review
aram356 13ccc98
Merge branch 'main' into spec/test-coverage-gap
aram356 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: run these gated bin tests in CI
The new tests are valuable, but this binary is behind
required-features = ["nested-app-config-check"]. The current workflow runs the audit with that feature, then runscargo test --workspace --all-targetswithout it, so this#[cfg(test)]module is not exercised by PR CI.Consider adding a CI step such as:
cargo test -p edgezero-cli --features nested-app-config-check --bin check_no_nested_app_configI ran that command locally and it passed (15/15).