Read a queue and decide whether it needs attention

Read a disposable SQLite queue, check the evidence, decide whether it needs attention, and deliver one local operator-inbox message through actual Monitor, NQ, Pulse and Nightshift entry points.

Development profile: local-queue-attention/v1. Public-only reproduction passed on Linux x86-64 without access to private repositories. This profile is not the released Maude-only 0.1.0-alpha.1 profile, a complete recurring monitoring deployment, or permission to change an application.

What happens

your caller → Monitor → primary SQLite read → NQ admission
your caller → separate SQLite read → Pulse support → NQ replay
your caller → Nightshift attention custody → Pulse replay
your caller → NQ notification custody → Nightshift replay
your caller ← one retained local inbox file and inspectable records

The queue contains twenty real rows created for this example. Both observation roles read it in separate processes, but use the same script under one operator. Pulse checks the explicitly configured source relationship and freshness, not independent administration or the truth of an arbitrary producer's claims. NQ uses its existing compiled depth-at-least-eighteen rule; no new interpreter is installed.

Required sources and setup

Tested with Rust/Cargo 1.94.0, Python 3.12.3, cryptography 41.0.7 and SQLite 3.45.1 on Linux x86-64. You need a C compiler/linker, Git, and public dependency access. The Python package may come from the OS; if absent, install that version in a local virtual environment and use its Python for the final command. The two observation subprocesses require /usr/bin/python3 and only its standard library.

Use debug builds for this same-account local exercise. Production NQ verifier enrollment has separate-account requirements that this profile does not qualify. Allow several GiB of build space; two build jobs, disabled incremental builds and no debug information keep the example modest. No provider key, webhook, daemon or container is needed.

DEMO_PARENT=$(mktemp -d /tmp/queue-attention-setup.XXXXXX)
cd "$DEMO_PARENT"
git clone https://github.com/unpingable/constellation-nightshift.git nightshift
git -C nightshift checkout --detach fdadf9666da0ca32b534a3dab9aa678b18a99fc3
git clone https://github.com/unpingable/constellation-nq.git nq
git -C nq checkout --detach d0086b8a8df81741c661070c92a86a79bdb73362
# Select the newer caller without changing the tested runtime checkout.
git -C nightshift show 39216731bf5124d71c7a3113a198a3c6d1b00962:integrations/monitor-predicate-support/examples/local-queue-attention.py > local-queue-attention.py
export CARGO_BUILD_JOBS=2 CARGO_INCREMENTAL=0 CARGO_PROFILE_DEV_DEBUG=0
cargo build --locked --manifest-path nq/Cargo.toml -p nq-app --bin nq
cargo build --locked --manifest-path nightshift/runtime/Cargo.toml -p nightshiftd --bin nightshift
cargo build --locked --manifest-path nightshift/integrations/monitor-predicate-support/Cargo.toml --bins
python3 local-queue-attention.py --local-inbox \
  --root "$DEMO_PARENT/queue-attention-run" \
  --monitor "$DEMO_PARENT/nightshift/integrations/monitor-predicate-support/target/debug/monitor-concerns" \
  --pulse "$DEMO_PARENT/nightshift/integrations/monitor-predicate-support/target/debug/pulse-project-predicate-support" \
  --nq "$DEMO_PARENT/nq/target/debug/nq" \
  --nightshift "$DEMO_PARENT/nightshift/runtime/target/debug/nightshift"

These paths assume you have not set CARGO_TARGET_DIR; if you use one, select the actual resulting executable paths. The Nightshift revision contains the same runtime source as d8e03c0 and adds the separately built Monitor/Pulse product cut. Its source provenance records canonical inputs and exported hashes. Component versions remain independent.

What passed and what it establishes

Expect "result": "qualified", "notification_state": "accepted" and "network_enabled": false. One mode-0600 JSON message appears under queue-attention-run/local-inbox. A duplicate returns the same delivery identity without writing another file. This means a file was retained and synced, not that a person read it. Remove --local-inbox to exercise the intentionally refused, network-disabled webhook branch instead.

The actual caller also requires NQ admission, Pulse current support, Nightshift attention, exact replay, duplicate convergence, changed-catalog refusal, exclusive stale-input refusal and a reopened attention evaluation that does not refresh evidence. An anonymous public clone supplied the example and a fresh NQ build; unchanged Monitor/Pulse/Nightshift binaries were reused from their earlier anonymous public build. The local-inbox example passed in a filesystem/network namespace with no private repository or home-directory mounts. Public registry and toolchain caches were reused; no owner response was replaced by a fixture.

All four components are required for this particular chain. Without Pulse, a local NQ read remains possible but does not provide this qualified support path. Without Nightshift, there is no retained attention decision under this policy. Local-file delivery is verified; one live Slack delivery has been observed elsewhere, but live Slack/Discord delivery and human acknowledgment are not qualified. See notification limits.

Inspect, restart and recover

Keep queue-attention-run. It contains the actual inventory, source observation, policies, owner receipts, SQLite stores, commands.jsonl and result.json. Read the smaller result first. Each subprocess has a thirty-second and one-MiB-per-stream bound; the caller does not automatically retry.

The example is create-only, not a resume-everything command. After interruption, inspect the retained command and owner records. Replay an existing attention bundle through nightshift attention replay; inspect an existing notification ID through nq notification inspect with the exact retained configuration. A claimed delivery without a terminal result remains unknown. Do not invent a new event identity to get around uncertainty.

The complete caller and recovery guide gives exact commands and retained-state ownership. Keep the inbox files with the delivery database: neither substitutes for the other. Stop all example commands before backing up or removing its exact disposable root; preserve SQLite sidecars with their database. Complete-deployment restoration, migration and rollback are not verified.

This profile does not provide recurring saved-check scheduling, automatic maintenance overlays, generation retention, objective completion, AG/Docket authorization and execution, or federation. Those missing capabilities are not supplied by the UI or this successful example. Recipe B is a separately released exact local-copy composition; it does not add governed effects to this queue profile or complete a broader application integration.

For problems, report the two source revisions, environment versions, command and a minimal redacted excerpt through Troubleshooting. Do not upload the whole state directory or private evidence. Experimental alpha support is best effort with no guaranteed response time.