skcomms 0.2.5__tar.gz → 0.2.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {skcomms-0.2.5 → skcomms-0.2.7}/.github/workflows/publish.yml +21 -3
- {skcomms-0.2.5/src/skcomms.egg-info → skcomms-0.2.7}/PKG-INFO +1 -1
- {skcomms-0.2.5 → skcomms-0.2.7/src/skcomms.egg-info}/PKG-INFO +1 -1
- {skcomms-0.2.5 → skcomms-0.2.7}/.github/workflows/ci.yml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/.github/workflows/pytest.yml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/.github/workflows/qa.yml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/.github/workflows/secret-scan.yml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/.gitignore +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/.gitleaks.toml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/CHANGELOG.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/CODE_OF_CONDUCT.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/CONTRIBUTING.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/DEPLOY-NOTES.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/Dockerfile +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/LICENSE +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/MISSION.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/README.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/SECURITY.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/SOP.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/constraints.txt +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/contrib/systemd/skcomms-api.service +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/contrib/systemd/skcomms-housekeep.service +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/contrib/systemd/skcomms-housekeep.timer +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/ARCHITECTURE.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/DISCORD_SETUP.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/HANDOFF-skfed-s2s-opus-delivery.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/PAIRING.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/REVOCATION_LATENCY.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/SYNCTHING_TOPOLOGY.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/access-plane-p7.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/access-plane-p8.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/cot-bridge.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/crypto-architecture.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/deploy-plan/skcomms-bulletproof-deploy.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/federation-data-comms-architecture.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/funnel-privacy.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/mode-b-tailnet-deploy.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/node_registry.example.yml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/rfcs/RFC-0001-pq-ratchet-metadata-dual-identity.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/skfed-consent-design.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/skfed-federation-guide.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/state-sync-rearch-plan.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-10-qr-pairing.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-ble-mesh-p1-core.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-lora-l1-core.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-skglossa-g1-core.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-skglossa-g2-macro-lexicon.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-skglossa-g4-emergent.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-tier3-adapter-runtime.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/specs/2026-06-13-ble-mesh-proximity-transport-design.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/specs/2026-06-13-lora-meshtastic-transport-design.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/specs/2026-06-13-skglossa-design.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/docs/tak-vs-skfed-analysis.md +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/pyproject.toml +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/backfill_file_locations.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/bootstrap.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/discord_smoke.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/drain_orphan_outbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/mode-b-setup.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/refresh-constraints.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/skfed-dns.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/skfed-neutral-addresses.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/skfed-sync-rearch.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/telegram_smoke.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/templates/consent-mode.conf.tmpl +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/templates/realms.yml.tmpl +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/templates/tailscale-serve.sh.tmpl +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/scripts/test_skfed_sync_rearch.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/setup.cfg +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/audit.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/config.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/exec.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/files.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/grants.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/knowledge.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/registry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/routing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/server.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/access/wiring.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/ack.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/base.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/discord.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/factory.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/fake.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/matrix.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/models.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/registry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/slack.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/adapters/telegram.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/anon_queue.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/anon_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/api.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/capabilities.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/capauth_validator.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/cli.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/cluster.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/compression.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/config.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_banfeeds.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_captcha.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_greylist.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_group_gate.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_groups.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_moderation.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_pipeline.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_policy.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_requests.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_runtime.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_tiering.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/consent_tokens.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/core.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/crypto.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/crypto_suites.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/did_router.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/discovery.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/envelope.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/federation.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/geo_seed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/geo_store.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/codebook.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/codec.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/emergent.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/gloss.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/handshake.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/macros.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/message.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/glossa/session.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/grants.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/heartbeat.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/home.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/household_router.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/housekeeping.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/identity.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/integration.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/key_exchange.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/mailbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/marketplace.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/mcp_server.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/metrics.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/models.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/node_registry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/nostr_discovery.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/observability.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/operator_probe.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/outbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/outbox_migrate.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/padding.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pairing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pairing_mirror.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/paths.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/peers.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pq_provider.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pqdm.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pqkem.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pqkem_backend.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pqroute.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pqroute_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pqsig.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/profile_router.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/public_pairing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pubsub.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/pubsub_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/queue.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/ratelimit.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/realm.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/registry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/router.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/signaling.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/signing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/skfed_announce.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/skfed_directory.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/skfed_readdr.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/skfed_resolve.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/skworld_manifest.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/souls_router.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/ssrf.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/store_forward.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/syncthing_rail.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/tofu.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/audio_track.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/gatt.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/identity.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/node.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/noise.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/protocol.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/radio.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/ble/relay.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/broker_server.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/file.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/http_s2s.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/addressing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/framing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/interface.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/meshtastic_iface.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/store.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/lora/transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/nostr.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/p2p_connector.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/p2p_manager.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/p2p_session.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/signaling_base.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/signaling_broker.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/signaling_mailbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/syncthing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/tailscale.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/video_track.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/webrtc.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/webrtc_media.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/transports/websocket.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms/trustbackup.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms.egg-info/SOURCES.txt +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms.egg-info/dependency_links.txt +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms.egg-info/entry_points.txt +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms.egg-info/requires.txt +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/src/skcomms.egg-info/top_level.txt +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/__init__.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/conftest.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/fixtures/pqdm2_from_dart.json +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/gen_pqdm2_fixture.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_exec.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_files.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_nonce_durable.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_rbac.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_routing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_server.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_access_wiring.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ack_bind.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_adapter_factory.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_adapter_fake.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_anon_queue.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_anon_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_access_token.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_consent.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_consent_token_gate.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_cors.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_federation_inbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_geo_seed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_geo_skcot_bridge.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_geo_units.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_health.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_send_signed_wire.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_api_skfed_directory.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_backfill_file_locations.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_fragment.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_gatt.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_identity.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_mesh.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_noise.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_pairing_bundle.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_protocol.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_radio.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ble_relay.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_broker_server.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_capabilities.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_capauth_failclosed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_capauth_key_reconcile.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_capauth_resolution.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_capauth_revoked_expired.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_channel_adapter.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_cluster_schema.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_config.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_ban_gate_fail_closed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_banfeeds.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_captcha.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_cli.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_cli_mgmt.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_greylist.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_group_gate.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_groups.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_moderation.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_pipeline.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_policy.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_requests.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_runtime.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_tiering.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_consent_tokens.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_core_inbound_beacon_skip.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_core_send_federated.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_core_send_signed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_core_stop.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_crypto_failclosed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_crypto_suites_q0.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_daemon_adapter_lifecycle.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_deadletter_ops.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_delivery_semantics.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_discord_adapter.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_encrypt_fail_closed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_envelope_consent_token.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_envelope_v1.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_federation.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_federation_integration.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_geo_roundtrip_skcot.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_codebook.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_codec_l0.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_codec_l1.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_codec_l2.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_emergent.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_emergent_negotiator.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_emergent_protocol.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_gloss.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_handshake.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_handshake_lexicon.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_macros.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_macros_render.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_message.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_session.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_session_macros.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_glossa_to_human.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_grants.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_home_scaffold.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_housekeeping.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_http_s2s_star_recipient.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_http_s2s_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_hybrid_envelope_sig.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_identity_env_override.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_identity_key_binding.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_identity_realm.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_identity_trust_backup.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_integration.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_key_exchange_transport_scoping.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_knowledge.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_lora_addressing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_lora_framing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_lora_interface.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_lora_meshtastic_iface.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_lora_store.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_lora_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_mailbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_mailbox_encrypt_at_rest.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_mailbox_recipient_key.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_matrix_adapter.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_mode_b_setup.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_no_subapp_dependency.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_node_registry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_nonce_durable.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_nostr_discovery.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_observability.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_operator_cli.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_outbox_home_alignment.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_outbox_migrate.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_p2p_connector.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_p2p_manager.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_p2p_media.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_p2p_session.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_padding.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pairing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pairing_cli.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pairing_mirror.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_paths_scoping.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_peer_inbox_traversal.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_peers.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqc_cutover.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqc_shim.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqdm.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqdm2.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqdm2_interop.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqkem.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqroute.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqroute_padding.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqroute_transport.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_pqsig.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_prune_inbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_public_pairing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_queue_bounds.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_receiver_wire_ttl_expiry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_registry.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_registry_cli.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_failure_log_dedup.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_perm_backoff.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_perm_backoff_fixes.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_quarantine.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_rail_ordering.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_route_anon.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_route_signed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_star_broadcast_routing.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_router_unsigned_excludes_https_s2s.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_sign_fail_closed.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_signaling_broker.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_signaling_mailbox.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_signaling_select.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_announce.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_cli.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_directory.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_dns.sh +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_operator_pin.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_readdr.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_resolve.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skfed_ssrf.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_skworld_manifest.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_slack_adapter.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_smoke.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_ssrf_guard.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_store_forward.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_syncthing_rail.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_syncthing_recipient_guard.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_telegram_adapter.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_tofu.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_typed_message_content.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_webrtc_bridge_lifecycle.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_webrtc_ice_logging.py +0 -0
- {skcomms-0.2.5 → skcomms-0.2.7}/tests/test_webrtc_signaling_log_dedup.py +0 -0
|
@@ -47,11 +47,20 @@ jobs:
|
|
|
47
47
|
git config user.name "github-actions[bot]"
|
|
48
48
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
# Use the HIGHEST v-tag in the repo, not `git describe`.
|
|
51
|
+
#
|
|
52
|
+
# describe only sees tags that are ANCESTORS of HEAD, so an unpushed,
|
|
53
|
+
# orphaned or rename-stranded tag makes it report "previous: none" and
|
|
54
|
+
# restart the sequence from zero. That published skcoord/skdashboard
|
|
55
|
+
# 0.0.1 and then 0.0.2, both BELOW the existing 0.1.0. A release must
|
|
56
|
+
# never be able to go backwards, so rank all tags by version instead.
|
|
57
|
+
latest="$(git tag -l 'v[0-9]*.[0-9]*.[0-9]*' | sort -V | tail -1)"
|
|
51
58
|
head_sha="$(git rev-parse HEAD)"
|
|
52
59
|
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
# Any release tag AT HEAD means nothing new to ship, even if it is
|
|
61
|
+
# not the highest one (ranking means the highest may sit elsewhere).
|
|
62
|
+
if [ -n "$(git tag --points-at HEAD -l 'v[0-9]*.[0-9]*.[0-9]*')" ]; then
|
|
63
|
+
echo "HEAD is already tagged; nothing to release."
|
|
55
64
|
echo "tagged=false" >> "$GITHUB_OUTPUT"
|
|
56
65
|
exit 0
|
|
57
66
|
fi
|
|
@@ -141,6 +150,15 @@ jobs:
|
|
|
141
150
|
|
|
142
151
|
pypi-publish:
|
|
143
152
|
needs: build
|
|
153
|
+
# Same always() guard the build job needs, one level further down.
|
|
154
|
+
# GitHub propagates a skip THROUGH a job: `tag` is skipped on the tag-push
|
|
155
|
+
# path, `build` survives it with always(), but a bare `needs: build` here
|
|
156
|
+
# still evaluates to skipped, because an ANCESTOR was skipped. The publish
|
|
157
|
+
# step could then never run on a tag push: the build is green, the run
|
|
158
|
+
# reports success, and NOTHING is uploaded. skharness lost v0.3.13 to this
|
|
159
|
+
# exact bug. Ported from skcoord PR #6.
|
|
160
|
+
if: >-
|
|
161
|
+
always() && !cancelled() && needs.build.result == 'success'
|
|
144
162
|
runs-on: ubuntu-latest
|
|
145
163
|
environment: pypi
|
|
146
164
|
permissions:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{skcomms-0.2.5 → skcomms-0.2.7}/docs/superpowers/plans/2026-06-13-skglossa-g2-macro-lexicon.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|