.codecov.yml
.copier-answers.yml
.coveragerc
.env.example
.envrc.example
.gitattributes
.gitignore
.pre-commit-config.yaml
.pylintrc
CHANGELOG.md
CODE-OF-CONDUCT.md
CONTRIBUTING.md
LICENSE
Makefile
NOTICE
README.md
justfile
noxfile.py
pyproject.toml
setup.py
uv.lock
.github/ISSUE_TEMPLATE.md
.github/PULL_REQUEST_TEMPLATE.md
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/config.yml
.github/ISSUE_TEMPLATE/docs.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/ISSUE_TEMPLATE/tech-debt.md
.github/workflows/ci.yml
.github/workflows/deploy-docs-action.yml
.github/workflows/deploy-package-action.yml
.github/workflows/docs-action.yml
.github/workflows/get-changed-files.yml
.github/workflows/package-action.yml
.github/workflows/pr.yml
.github/workflows/pre-commit-action.yml
.github/workflows/prepare-release-action.yml
.github/workflows/publish-uci-ubus.yml
.github/workflows/tag.yml
.github/workflows/test-action.yml
.pre-commit-hooks/check-cli-examples.py
.pre-commit-hooks/check-no-coauthored.sh
.pre-commit-hooks/make-autodocs.py
changelog/.template.jinja
docs/Makefile
docs/changelog.md
docs/conf.py
docs/index.rst
docs/make.bat
docs/sitevars.rst
docs/_ext/saltdomain.py
docs/_static/.gitkeep
docs/adr/.gitkeep
docs/adr/adr-000-ubus-over-all-transports.md
docs/adr/adr-001-device-controlled-agent-mode.md
docs/adr/index.md
docs/devops/code/00-uci-runtime-behavior.md
docs/devops/code/01-adapter-pattern.md
docs/devops/code/02-salt-coding-patterns.md
docs/devops/code/03-state-module-logic.md
docs/devops/code/04-ubus-jsonrpc-api.md
docs/devops/code/05-proxy-lifecycle.md
docs/devops/code/06-openwrt-device-packages.md
docs/devops/code/07-ubus-object-inventory.md
docs/devops/code/08-rpcd-session-staging-internals.md
docs/devops/code/09-ubus-system-architecture.md
docs/devops/code/10-uci-data-model.md
docs/devops/plan/01-salt-module-development.md
docs/devops/plan/02-cli-config-reader.md
docs/devops/plan/03-luci-integration.md
docs/devops/plan/04-llm-coding-policy.md
docs/devops/plan/06-openwrt-config-layers.md
docs/devops/plan/07-package-support-tiers.md
docs/devops/plan/09-proxy-module-architecture.md
docs/devops/plan/10-jsonrpc-vs-cli.md
docs/devops/plan/11-rpcd-acl-model.md
docs/devops/plan/12-static-data-in-extensions.md
docs/devops/plan/README.md
docs/devops/plan/roadmap.md
docs/devops/release/version-locations.md
docs/devops/test/known-bugs.md
docs/ref/.gitkeep
docs/ref/grains/index.rst
docs/ref/grains/saltext.openwrt_ubus.grains.saltext_ubus.rst
docs/ref/modules/index.rst
docs/ref/modules/saltext.openwrt_ubus.modules.openwrt.rst
docs/ref/modules/saltext.openwrt_ubus.modules.ubus_jsonrpc.rst
docs/ref/modules/saltext.openwrt_ubus.modules.uci_local.rst
docs/ref/modules/saltext.openwrt_ubus.modules.uci_ssh.rst
docs/ref/proxy/index.rst
docs/ref/proxy/saltext.openwrt_ubus.proxy.ubus_jsonrpc.rst
docs/ref/proxy/saltext.openwrt_ubus.proxy.uci_ssh.rst
docs/ref/sensitivity/index.rst
docs/ref/sensitivity/saltext.openwrt_ubus.sensitivity.classify.rst
docs/ref/sensitivity/saltext.openwrt_ubus.sensitivity.contracts.rst
docs/ref/sensitivity/saltext.openwrt_ubus.sensitivity.model.rst
docs/ref/sensitivity/saltext.openwrt_ubus.sensitivity.project.rst
docs/ref/states/index.rst
docs/ref/states/saltext.openwrt_ubus.states.openwrt.rst
docs/ref/states/saltext.openwrt_ubus.states.saltext_ubus.rst
docs/ref/utils/index.rst
docs/ref/utils/saltext.openwrt_ubus.utils.rpc.rst
docs/ref/utils/saltext.openwrt_ubus.utils.scope.rst
docs/ref/utils/saltext.openwrt_ubus.utils.ssh.rst
docs/ref/utils/saltext.openwrt_ubus.utils.ubus_ops.rst
docs/topics/installation.md
docs/topics/operational-flow.md
docs/topics/sensitivity.md
infra/openwrt-test/Dockerfile
infra/openwrt-test/compose.yaml
infra/openwrt-test/entrypoint.sh
infra/openwrt-test/acl/salt-agent-ubus.json
infra/openwrt-test/fixtures/testcorpus
infra/openwrt-test/fixtures/testcorpus_deps
infra/openwrt-test/fixtures/testcorpus_empty
infra/openwrt-test/fixtures/tests/01_set_scalar_named/after.uci
infra/openwrt-test/fixtures/tests/01_set_scalar_named/before.uci
infra/openwrt-test/fixtures/tests/01_set_scalar_named/delta.yaml
infra/openwrt-test/fixtures/tests/02_set_scalar_with_spaces/after.uci
infra/openwrt-test/fixtures/tests/02_set_scalar_with_spaces/before.uci
infra/openwrt-test/fixtures/tests/02_set_scalar_with_spaces/delta.yaml
infra/openwrt-test/fixtures/tests/03_replace_list/after.uci
infra/openwrt-test/fixtures/tests/03_replace_list/before.uci
infra/openwrt-test/fixtures/tests/03_replace_list/delta.yaml
infra/openwrt-test/fixtures/tests/04_set_anon_singleton/after.uci
infra/openwrt-test/fixtures/tests/04_set_anon_singleton/before.uci
infra/openwrt-test/fixtures/tests/04_set_anon_singleton/delta.yaml
infra/openwrt-test/fixtures/tests/05_toggle_boolean/after.uci
infra/openwrt-test/fixtures/tests/05_toggle_boolean/before.uci
infra/openwrt-test/fixtures/tests/05_toggle_boolean/delta.yaml
infra/openwrt-test/fixtures/tests/06_populate_empty_section/after.uci
infra/openwrt-test/fixtures/tests/06_populate_empty_section/before.uci
infra/openwrt-test/fixtures/tests/06_populate_empty_section/delta.yaml
infra/openwrt-test/fixtures/tests/07_idempotent_no_change/after.uci
infra/openwrt-test/fixtures/tests/07_idempotent_no_change/before.uci
infra/openwrt-test/fixtures/tests/07_idempotent_no_change/delta.yaml
infra/openwrt-test/fixtures/tests/08_multi_section_update/after.uci
infra/openwrt-test/fixtures/tests/08_multi_section_update/before.uci
infra/openwrt-test/fixtures/tests/08_multi_section_update/delta.yaml
infra/openwrt-test/fixtures/tests/09_add_named_section/after.uci
infra/openwrt-test/fixtures/tests/09_add_named_section/before.uci
infra/openwrt-test/fixtures/tests/09_add_named_section/delta.yaml
infra/openwrt-test/fixtures/tests/10_delete_named_section/after.uci
infra/openwrt-test/fixtures/tests/10_delete_named_section/before.uci
infra/openwrt-test/fixtures/tests/10_delete_named_section/delta.yaml
infra/openwrt-test/fixtures/tests/11_add_anon_section/after.uci
infra/openwrt-test/fixtures/tests/11_add_anon_section/before.uci
infra/openwrt-test/fixtures/tests/11_add_anon_section/delta.yaml
infra/openwrt-test/fixtures/tests/12_delete_single_option/after.uci
infra/openwrt-test/fixtures/tests/12_delete_single_option/before.uci
infra/openwrt-test/fixtures/tests/12_delete_single_option/delta.yaml
src/saltext.uci_ubus.egg-info/PKG-INFO
src/saltext.uci_ubus.egg-info/SOURCES.txt
src/saltext.uci_ubus.egg-info/dependency_links.txt
src/saltext.uci_ubus.egg-info/entry_points.txt
src/saltext.uci_ubus.egg-info/not-zip-safe
src/saltext.uci_ubus.egg-info/requires.txt
src/saltext.uci_ubus.egg-info/top_level.txt
src/saltext/openwrt_ubus/__init__.py
src/saltext/openwrt_ubus/data_manifest.py
src/saltext/openwrt_ubus/version.py
src/saltext/openwrt_ubus/grains/__init__.py
src/saltext/openwrt_ubus/grains/saltext_ubus.py
src/saltext/openwrt_ubus/modules/__init__.py
src/saltext/openwrt_ubus/modules/openwrt.py
src/saltext/openwrt_ubus/modules/ubus_jsonrpc.py
src/saltext/openwrt_ubus/modules/uci_local.py
src/saltext/openwrt_ubus/modules/uci_ssh.py
src/saltext/openwrt_ubus/proxy/__init__.py
src/saltext/openwrt_ubus/proxy/ubus_jsonrpc.py
src/saltext/openwrt_ubus/proxy/uci_ssh.py
src/saltext/openwrt_ubus/sensitivity/__init__.py
src/saltext/openwrt_ubus/sensitivity/builtin.yaml
src/saltext/openwrt_ubus/sensitivity/classify.py
src/saltext/openwrt_ubus/sensitivity/contracts.py
src/saltext/openwrt_ubus/sensitivity/model.py
src/saltext/openwrt_ubus/sensitivity/project.py
src/saltext/openwrt_ubus/states/__init__.py
src/saltext/openwrt_ubus/states/openwrt.py
src/saltext/openwrt_ubus/states/saltext_ubus.py
src/saltext/openwrt_ubus/utils/__init__.py
src/saltext/openwrt_ubus/utils/rpc.py
src/saltext/openwrt_ubus/utils/scope.py
src/saltext/openwrt_ubus/utils/ssh.py
src/saltext/openwrt_ubus/utils/ubus_ops.py
tests/__init__.py
tests/conftest.py
tests/fixtures/openwrt/base/etc/config/testcorpus
tests/fixtures/openwrt/base/etc/config/testcorpus_deps
tests/fixtures/openwrt/base/etc/config/testcorpus_empty
tests/functional/__init__.py
tests/functional/conftest.py
tests/functional/modules/__init__.py
tests/functional/modules/test_ubus_jsonrpc.py
tests/functional/states/__init__.py
tests/functional/states/test_saltext_ubus.py
tests/integration/__init__.py
tests/integration/conftest.py
tests/integration/live/__init__.py
tests/integration/live/conftest.py
tests/integration/live/test_inventory.py
tests/integration/modules/__init__.py
tests/integration/modules/test_ubus_jsonrpc.py
tests/integration/openwrt/__init__.py
tests/integration/openwrt/conftest.py
tests/integration/openwrt/test_inventory.py
tests/integration/openwrt/test_managed.py
tests/integration/states/__init__.py
tests/unit/__init__.py
tests/unit/conftest.py
tests/unit/test_data_manifest.py
tests/unit/grains/__init__.py
tests/unit/grains/test_saltext_ubus.py
tests/unit/modules/__init__.py
tests/unit/modules/test_ubus_jsonrpc.py
tests/unit/modules/test_uci_local.py
tests/unit/modules/test_uci_ssh.py
tests/unit/proxy/__init__.py
tests/unit/proxy/test_ubus_jsonrpc.py
tests/unit/proxy/test_uci_ssh.py
tests/unit/sensitivity/__init__.py
tests/unit/sensitivity/test_classify.py
tests/unit/sensitivity/test_model.py
tests/unit/sensitivity/test_project.py
tests/unit/states/__init__.py
tests/unit/states/test_saltext_ubus.py
tests/unit/utils/__init__.py
tests/unit/utils/test_rpc.py
tests/unit/utils/test_scope.py
tests/unit/utils/test_ssh.py
tests/unit/utils/test_ubus_ops.py
tools/collect_evidence.py
tools/initialize.py
tools/version.py
tools/helpers/__init__.py
tools/helpers/cmd.py
tools/helpers/copier.py
tools/helpers/git.py
tools/helpers/pre_commit.py
tools/helpers/prompt.py
tools/helpers/venv.py