LINGUIST_RELEASE | v9.7.0 | The GitHub Linguist release (lib/linguist/generated.rb) whose path-only generated-file rules DERIVED_PATTERNS extends. It names a baseline, not a set LVCS follows. | crates/lvcs-vocab/src/derive.rs |
DERIVED_MARKERS | &[@generated, Code generated, DO NOT EDIT, This file is generated, Generated by] | Header markers that make a file derived when one appears in its first DERIVED_HEADER_LINES lines within DERIVED_HEADER_BYTES, matched ASCII case-insensitively. The only content rule: no Linguist content heuristic is ported. | crates/lvcs-vocab/src/derive.rs |
DERIVED_HEADER_LINES | 5 | How many lines at the start of a file DERIVED_MARKERS are looked for in. | crates/lvcs-vocab/src/derive.rs |
DERIVED_HEADER_BYTES | 1_024 | How many bytes at the start of a file DERIVED_MARKERS are looked for in, decision 171's 1 KiB. | crates/lvcs-vocab/src/derive.rs |
CONTROL_PREFIX | .lvcs/ | Namespace prefix reserved for control documents. The mirrored directory never materializes paths under it. | crates/lvcs-vocab/src/doc.rs |
OVERRIDE_ADDRESS | .lvcs/ws/{ws}/ovr/{override} | Address of an override document: {ws} is the workspace id and {override} the override id, both in ID_ENCODING. | crates/lvcs-vocab/src/doc.rs |
WORKSPACE_INDEX_ADDRESS | .lvcs/ws/{ws}/index | Address of a workspace's index document: {ws} is the workspace id in ID_ENCODING. | crates/lvcs-vocab/src/doc.rs |
THREAD_ADDRESS | .lvcs/threads/{thread} | Address of a thread document: {thread} is the thread id in ID_ENCODING. | crates/lvcs-vocab/src/doc.rs |
ISSUE_ADDRESS | .lvcs/issues/{issue} | Address of an issue document: {issue} is the issue id, HASH([ISSUE_DOMAIN, creator key, n]), in ID_ENCODING. | crates/lvcs-vocab/src/doc.rs |
REGISTRY_ADDRESS | .lvcs/registry | Address of the workspace registry document: every workspace and every merge bundle's record. | crates/lvcs-vocab/src/doc.rs |
CAPS_ADDRESS | .lvcs/caps | Address of the capability document: every grant, seeded from the static signed capability file and synced to every peer first. | crates/lvcs-vocab/src/doc.rs |
ALLOWLIST_ADDRESS | .lvcs/caps/allowlist | What an /allowlist/<hash> add in the capability document concerns: Write here, a concern address no document has, which any valid grant authorizes (its chain and window are checked, its paths and capabilities are not), so every author may confirm its own held secret. A /grants/<id> entry still concerns Write on CAPS_ADDRESS. | crates/lvcs-vocab/src/doc.rs |
APPROVALS_ADDRESS | .lvcs/approvals | Address of the approvals document: every protected-path approval, its genesis putting /approvals and /reviews as maps. A control document every daemon opens at start, like the caps document and the registry. | crates/lvcs-vocab/src/doc.rs |
CHANNEL_PREFIX | .lvcs/channels/ | Prefix of every channel document's address: the channel name, an action's name, follows it, written literally, so action tests's channel is at .lvcs/channels/tests. | crates/lvcs-vocab/src/doc.rs |
CHANNEL_NAME_MAX_BYTES | 128 | Longest channel name ChannelName::parse accepts, in bytes. | crates/lvcs-vocab/src/doc.rs |
APPROVAL_MAX_PATHS | 1_024 | Most paths one approval names, each a file address that DEFAULT_PROTECTED matches. | crates/lvcs-vocab/src/doc.rs |
FORMAT_MAGIC | LVCS | The first four bytes of every format header. | crates/lvcs-vocab/src/format.rs |
FORMAT_HEADER_BYTES | 8 | Bytes of a format header: the magic, the kind byte, a zero byte, and the big-endian u16 version. | crates/lvcs-vocab/src/format.rs |
JOURNAL_FORMAT | 8 | The journal's format version. Version 1 is the first with a header; records follow it, each a 4-byte big-endian length and one canonical CBOR entry. Version 2's entries hold the events of decisions 277 to 279 and the transport's Identified with dialed, which version 1's do not decode as. Version 3's hold the transport's Disconnected with failed and the check streaks' Passed with now_ms, which version 2's do not decode as. Version 4's hold the transport's Start with the wire major in its Config and Identified with sync and agent, which version 3's do not decode as. Version 5's entries are {actor, event, trace, local_ts}: each machine's generated sml event and the sml logger trace of handling it, with a document's DocFingerprint as its only content check; version 4's snapshots and hand-written event enums do not decode as them. Version 6's may hold the updater actor's entries (the updater row), which version 5's readers do not decode. Version 7's updater entries may hold Locked, and its traces pass through Locking before a download, which version 6's do not decode or replay as. Version 8's imports entries may hold Polled with imported and ImportFailed, which version 7's do not decode as, and their traces pass through restore, which version 7's do not replay as. | crates/lvcs-vocab/src/format.rs |
PROJECT_FORMAT | 1 | project.json's format version: a JSON object after the header. | crates/lvcs-vocab/src/format.rs |
CAPABILITIES_FORMAT | 1 | capabilities.cbor's format version: one canonical CBOR CapsFile. | crates/lvcs-vocab/src/format.rs |
APPROVED_FORMAT | 1 | approved.cbor's format version: a canonical CBOR map from address to sorted heads. | crates/lvcs-vocab/src/format.rs |
CHECK_STREAKS_FORMAT | 1 | check-streaks.cbor's format version: a CBOR list of stored streaks. | crates/lvcs-vocab/src/format.rs |
STALE_SAVES_FORMAT | 1 | stale-saves.json's format version: a JSON object after the header. | crates/lvcs-vocab/src/format.rs |
WORKSPACES_FORMAT | 1 | workspaces.json's format version: a JSON list of rows. | crates/lvcs-vocab/src/format.rs |
SIGS_FORMAT | 1 | A .sigs sidecar's format version: canonical CBOR ChangeSigs, concatenated. | crates/lvcs-vocab/src/format.rs |
KEY_FORMAT | 1 | A key file's format version: the 32-byte Ed25519 secret. | crates/lvcs-vocab/src/format.rs |
REGISTRY_FORMAT | 1 | The registry's format version: a JSON list of registered projects, each its root, default participant, and transport. | crates/lvcs-vocab/src/format.rs |
UPDATE_STATE_FORMAT | 1 | The updater state's format version: a JSON object after the header (the updater row). | crates/lvcs-vocab/src/format.rs |
HOST_KEY_FORMAT | 1 | The host key's format version: the 32-byte Ed25519 secret. | crates/lvcs-vocab/src/format.rs |
HOST_CERT_FORMAT | 1 | The host certificate's format version: its PEM text. | crates/lvcs-vocab/src/format.rs |
HOST_PEER_FORMAT | 1 | The host peer setting's format version: a JSON object. | crates/lvcs-vocab/src/format.rs |
HASH | sha-256 | Hash used for content hashes, frontier ids, bundle ids, workspace ids, project ids, and genesis actor ids. Automerge already uses SHA-256 for change hashes. | crates/lvcs-vocab/src/ids.rs |
ID_ENCODING | base32-lower-nopad | Text form of every hash-derived id and public key, and of a signed change's record, the canonical CBOR its Automerge message holds (ChangeMessage, decision 125): lowercase RFC 4648 base32 with no padding. | crates/lvcs-vocab/src/ids.rs |
SIGNATURE | ed25519 | Signature scheme for participant keys, device keys, ChangeSig, and envelopes. Signatures cover the deterministic CBOR encoding of the signed fields. | crates/lvcs-vocab/src/ids.rs |
GENESIS_DOMAIN | lvcs-genesis-v1 | Domain-separation prefix hashed with a document's kind and address to derive the actor id of its canonical genesis change. | crates/lvcs-vocab/src/ids.rs |
IMPORT_DOMAIN | lvcs-import-v1 | Domain-separation prefix hashed with an address and a content hash to derive the actor id of an import change, so identical imports on two peers produce one change. | crates/lvcs-vocab/src/ids.rs |
ISSUE_DOMAIN | lvcs-issue-v1 | Domain-separation prefix of an issue's id: the HASH of the canonical CBOR array [ISSUE_DOMAIN, creator key, n], n the creator key's own count of the issues it created. | crates/lvcs-vocab/src/ids.rs |
GRANT_ACTOR_DOMAIN | lvcs-grant-actor-v1 | Domain-separation prefix of a participant's actor id under a grant whose terms name a quota: the first 16 bytes of HASH([GRANT_ACTOR_DOMAIN, participant key, grant id]). | crates/lvcs-vocab/src/ids.rs |
ATTESTATION_DOMAIN | lvcs-attestation-v1 | Domain-separation prefix of what an attestation's sig and device_sig cover: the canonical CBOR array [ATTESTATION_DOMAIN, project id, channel name, frontier id, actions, toolchain_hash, runner, device]. | crates/lvcs-vocab/src/ids.rs |
ACTION_DOMAIN | lvcs-action-v1 | Domain-separation prefix of an action's id, a gated action's run keys, and its outcomes' signatures. ActionId is HASH([ACTION_DOMAIN, action]) over the action's canonical encoding less its name, source, and quorum; a run key is HASH([ACTION_DOMAIN, action, frontier id, run request]); and an outcome's sig and device_sig cover the canonical CBOR array [ACTION_DOMAIN, project id, channel name, frontier id, action, run, passed, runner, device, time_ms]. | crates/lvcs-vocab/src/ids.rs |
RUNNER_DOMAIN | lvcs-runner-v1 | Domain-separation prefix of a runner's rank for a gated action's pending run: the runner is the online one with the least HASH([RUNNER_DOMAIN, run key, runner key]). | crates/lvcs-vocab/src/ids.rs |
TRIGGER_DOMAIN | lvcs-trigger-v1 | Domain-separation prefix of a channel trigger's origin (the triggers row): a channel-triggered gated action's run of frontier F serves no run request, so its run key is HASH([ACTION_DOMAIN, action, frontier id, HASH([TRIGGER_DOMAIN, frontier id])]), one per action and frontier. | crates/lvcs-vocab/src/ids.rs |
GENERATION_DOMAIN | lvcs-generation-v1 | Domain-separation prefix of a generation record's signatures. Its sig and device_sig cover the canonical CBOR array [GENERATION_DOMAIN, project id, channel name, action, inputs, frontier id, outputs, failure, toolchain_hash, runner, device]. | crates/lvcs-vocab/src/ids.rs |
TOPIC_DOC | lvcs/{major}/{project}/doc/{path} | Gossipsub topic for one document. {major} is [WIRE_MAJOR], so peers of different wire majors never share a topic, {project} is the project id, and {path} the document address. | crates/lvcs-vocab/src/ids.rs |
TOPIC_DIR | lvcs/{major}/{project}/dir/{path} | Gossipsub topic for a directory, used for subtree subscriptions. Every ancestor is published to, including the project root (empty {path}). | crates/lvcs-vocab/src/ids.rs |
TOPIC_WS_TALK | lvcs/{major}/{project}/ws/{ws}/talk | Gossipsub topic for a workspace's conversation. | crates/lvcs-vocab/src/ids.rs |
TOPIC_INBOX | lvcs/{major}/{project}/inbox/{participant} | Gossipsub topic for a participant's direct messages. | crates/lvcs-vocab/src/ids.rs |
WIRE_MAJOR | 1 | The major version of the wire envelope. Peers reject an envelope whose major version differs with a typed error; a new message kind is a minor version, which peers accept and whose unknown kinds they ignore. | crates/lvcs-vocab/src/ids.rs |
WIRE_MINOR | 1 | The minor version of the wire envelope this build writes: 1 added the sync stream's inventory kind (refines decision 215). | crates/lvcs-vocab/src/ids.rs |
WIRE_MAJOR_TEST_ENV | LVCS_E2E_WIRE_MAJOR | Test-only: in a debug build (debug_assertions, which the e2e image's dev profile has and the release profile does not), lvcs daemon advertises and speaks this wire major version instead of [WIRE_MAJOR]. It changes what the daemon's transport advertises in identify and the sync protocol id it opens and accepts, so the e2e suite can run one peer of another major beside the rest; a release build never reads it. | crates/lvcs-vocab/src/ids.rs |
SYNC_PROTOCOL | /lvcs/automerge-sync/{major}/{project} | The libp2p stream protocol that carries Automerge sync messages, one long-lived stream per peer pair. {major} is the wire major version the daemon speaks, [WIRE_MAJOR], so peers of different majors never open a sync stream with each other; {project} is the project id, so peers of different projects never open one either. | crates/lvcs-vocab/src/ids.rs |
RPC_PROTOCOL | /lvcs/rpc/1 | The JSON-RPC stream on the per-user daemon's host peer: one long-lived stream per client carrying the socket's API, one newline-delimited JSON-RPC message per line each way, pushes included. | crates/lvcs-vocab/src/ids.rs |
AGENT_VERSION | lvcs/{version} wire/{major}.{minor} | The libp2p identify agent version of an LVCS daemon: {version} is the lvcs release and {major}.{minor} the wire version it speaks, so a peer tells an incompatible release apart from a lost connection before any sync stream opens. | crates/lvcs-vocab/src/ids.rs |
STATE_DIR_NAME | lvcs | The per-user daemon's state directory's name: under $XDG_STATE_HOME (default ~/.local/state) on Linux, under ~/Library/Application Support on macOS, and under %LOCALAPPDATA% on Windows. It holds the registry of project roots ([REGISTRY_FILE]), the host journal ([HOST_JOURNAL_FILE]), and on macOS, and on Linux without $XDG_RUNTIME_DIR, the socket; nothing from any project. | crates/lvcs-vocab/src/ids.rs |
SOCKET_FILE | lvcs.sock | The per-user daemon's JSON-RPC socket's file name: $XDG_RUNTIME_DIR/lvcs.sock on Linux, else in the state directory ([STATE_DIR_NAME]); in the state directory on macOS. It is mode 0600 in a 0700 directory. On Windows the daemon serves the named pipe \\.\pipe\lvcs- and 32 lowercase hex digits, the first 16 bytes of the SHA-256 of the user's SID string, instead. | crates/lvcs-vocab/src/ids.rs |
REGISTRY_FILE | projects.json | The registry of project roots in the state directory: each project the daemon hosts, with its default participant and how its transport runs. | crates/lvcs-vocab/src/ids.rs |
HOST_KEY_FILE | host.key | The host peer's Ed25519 key in the state directory: the one libp2p identity the app dials, whatever project it then names. | crates/lvcs-vocab/src/ids.rs |
HOST_CERT_FILE | webrtc.pem | The host peer's WebRTC certificate in the state directory, PEM, kept so the certhash in its address stays the same across restarts. | crates/lvcs-vocab/src/ids.rs |
HOST_RPC_PORT | 4401 | The UDP port the host peer's WebRTC-direct listener asks for on every interface, so a pairing link stays valid across restarts; when it is taken the system picks one. LVCS_HOST_LISTEN (comma-separated multiaddrs) replaces the default listeners. | crates/lvcs-vocab/src/ids.rs |
TRACKER_URL | wss://tracker.lvcs.sh | The tracker the daemon announces to and a browser signals through, while the host peer is on. LVCS_TRACKER names another, or off for none. | crates/lvcs-vocab/src/ids.rs |
STUN_URLS | stun:stun.cloudflare.com:3478,stun:stun.l.google.com:19302 | The STUN servers both sides of a signaled WebRTC session ask for their public address; LVCS_STUN (comma-separated) replaces them on the daemon, and a pairing link carries the daemon's. Comma- separated. | crates/lvcs-vocab/src/ids.rs |
ICE_RPC_CHANNEL | lvcs-rpc | The label of the data channel that carries /lvcs/rpc/1 over a WebRTC session signaled through the tracker: lines of JSON-RPC as a byte stream, as on a host peer stream. | crates/lvcs-vocab/src/ids.rs |
ICE_CHUNK_BYTES | 16 * 1024 | The most bytes one message of that data channel carries: a line is cut into messages of at most this, and a reader joins them by bytes. | crates/lvcs-vocab/src/ids.rs |
HOST_PEER_FILE | host-peer.json | Whether the host peer listens, in the state directory: off until lvcs auth login turns it on, and off again after the last paired device's lvcs auth logout. | crates/lvcs-vocab/src/ids.rs |
APP_URL | https://lvcs.sh/ | Where the platform is served. A pairing link is this URL with #pair=<link> after it, which never reaches the server. | crates/lvcs-vocab/src/ids.rs |
HELLO_PROOF_CONTEXT | lvcs-rpc-hello/1 | What a device signs to prove its key to a host peer stream: this line, then the challenge's nonce, the host peer id, and the hello root (empty for none), each on its own line. | crates/lvcs-vocab/src/ids.rs |
HOST_JOURNAL_FILE | journal.cbor | The host journal in the state directory: the host actor's entries, in the journal's format, which lvcs replay --check with no project root replays. | crates/lvcs-vocab/src/ids.rs |
KEYS_DIR | .lvcs/keys | Key files (owner, participants, device), relative to the project root. The device key persists, so a restarted daemon keeps its PeerId. | crates/lvcs-vocab/src/ids.rs |
JOURNAL_PATH | .lvcs/journal/journal.cbor | The local journal, relative to the project root. | crates/lvcs-vocab/src/ids.rs |
STOP_WAIT_ENV | LVCS_STOP_WAIT_MS | Raises how long lvcs hook Stop waits for the runners, in milliseconds (limits::stop_wait_ms): set in an agent session's environment, which the pi extension reads too, to deadline the hook above it. Claude Code's plugin Stop timeout is fixed in its hooks.json, so there it raises nothing past that timeout. | crates/lvcs-vocab/src/ids.rs |
SPANS_FILE_ENV | LVCS_SPANS_FILE | When set, the daemon also appends one line per closed span to this file: the span name, then key=value pairs, tab-separated. The e2e harness reads it to check bounded attributes. | crates/lvcs-vocab/src/ids.rs |
UPDATE_MANIFEST_DOMAIN | lvcs-release-manifest-v1 | Domain-separation prefix of a release manifest's signature (the updater row): manifest.json.sig signs this prefix, one zero byte, and manifest.json's bytes exactly, so the signature covers the version. | crates/lvcs-vocab/src/ids.rs |
RELEASE_KEYS | [qm2z5dqrvdy4ojzhib2yzb4fpyfqvnn2e5uynzs4gr46gj65yubq, ] | The release signing keys every lvcs trusts (the updater row): Ed25519 public keys in ID_ENCODING, the offline key's first. Two slots, so a key can be rotated: a release ships the new key beside the old, and the release after drops the old. An empty slot trusts nothing. | crates/lvcs-vocab/src/ids.rs |
RELEASES_URL | https://github.com/gabewillen/lvcs-releases/releases | The releases every update comes from (the updater row): the public releases repository, which holds the archives and the signed manifest but no source (the source repository stays private). | crates/lvcs-vocab/src/ids.rs |
UPDATE_MANIFEST_PATH | /latest/download/manifest.json | Where the updater reads the latest release's manifest, under [RELEASES_URL]; its signature is beside it, [UPDATE_SIGNATURE_FILE]. | crates/lvcs-vocab/src/ids.rs |
UPDATE_ARCHIVE_PATH | /download/v{version}/{file} | Where the updater downloads a release's archive, under [RELEASES_URL]: {version} is the manifest's version and {file} its target's file, so the archive is the one release's even when latest moves between the two fetches. | crates/lvcs-vocab/src/ids.rs |
UPDATE_MANIFEST_FILE | manifest.json | A release's manifest file (the updater row): {version, date, targets: {<target>: {file, sha256, size}}} as JSON. | crates/lvcs-vocab/src/ids.rs |
UPDATE_SIGNATURE_FILE | manifest.json.sig | A release manifest's detached signature file: one line, the signing key and the signature, each in ID_ENCODING, separated by one space. | crates/lvcs-vocab/src/ids.rs |
UPDATE_STATE_FILE | update.json | The updater's settings in the per-user state directory (the updater row): the auto-update setting and a held version, which only lvcs update writes. | crates/lvcs-vocab/src/ids.rs |
UPDATE_STATUS_FILE | update-status.json | The updater's status beside its settings: the release last seen available, the last check's failure, and the mark of a just-applied update, which the checks and updates write, so they never overwrite a setting. | crates/lvcs-vocab/src/ids.rs |
UPDATE_LOCK_FILE | update.lock | The lock file beside the updater's settings: whoever downloads, verifies, and applies a release (lvcs update, or the daemon's updater) holds an exclusive advisory lock on it from the download until it is done, which the operating system releases when that process exits; the other refuses, or the daemon waits for its next check. | crates/lvcs-vocab/src/ids.rs |
INSTALL_MARKER_FILE | lvcs.install | The mark the install script leaves beside the lvcs it installed (the updater row): lvcs update and the daemon's updater replace only a binary with this file beside it. | crates/lvcs-vocab/src/ids.rs |
PREVIOUS_BINARY_FILE | lvcs.prev | The binary an update replaced, kept beside lvcs for lvcs update --rollback. | crates/lvcs-vocab/src/ids.rs |
NO_AUTO_UPDATE_ENV | LVCS_NO_AUTO_UPDATE | When set to 1, auto-update is off (notify-only) whatever lvcs update --auto set. | crates/lvcs-vocab/src/ids.rs |
SERVICE_ENV | LVCS_SERVICE | Set by the service definitions lvcs install writes: the daemon runs under a service manager that starts it again after a clean exit, so its updater may restart it. | crates/lvcs-vocab/src/ids.rs |
TEST_UPDATE_URL_ENV | LVCS_TEST_UPDATE_URL | A test knob: when set, the updater reads the manifest from this URL instead of [UPDATE_MANIFEST_URL], and each archive from beside it, plain http allowed. The signature is still checked against the trusted keys. Ignored unless set. | crates/lvcs-vocab/src/ids.rs |
E2E_UPDATE_KEY_ENV | LVCS_E2E_UPDATE_KEY | Debug builds only, as [WIRE_MAJOR_TEST_ENV]: one more release key, in ID_ENCODING, that the updater trusts, so the e2e suite can sign a release; a release build never reads it. | crates/lvcs-vocab/src/ids.rs |
E2E_JOURNAL_ROTATE_ENV | LVCS_E2E_JOURNAL_ROTATE_BYTES | A test knob, read only by debug builds: when set to a byte count, the journal rotates at it instead of JOURNAL_ROTATE_BYTES, so e2e can force segments. | crates/lvcs-vocab/src/ids.rs |
E2E_VERSION_ENV | LVCS_E2E_VERSION | Debug builds only: the version this lvcs reports and updates from in place of its build's, so the e2e suite can serve a wrapper as a newer release; a release build never reads it. | crates/lvcs-vocab/src/ids.rs |
E2E_EXE_ENV | LVCS_E2E_EXE | Debug builds only: the install path the updater replaces in place of this executable's, for the e2e suite's wrapper; a release build never reads it. | crates/lvcs-vocab/src/ids.rs |
WAIT_WINDOW_MS | 1_000 | Wait window before an edit proceeds when another participant is present on the document. lvcs.toml [coord] wait_ms may set 0 to WAIT_WINDOW_MAX_MS. | crates/lvcs-vocab/src/limits.rs |
WAIT_WINDOW_MAX_MS | 5_000 | Upper bound of the wait window lvcs.toml may set; harness hook timeouts exceed it. | crates/lvcs-vocab/src/limits.rs |
BULLETIN_SECS | 300 | How long notifications stay in a document's recent-notification bulletin. | crates/lvcs-vocab/src/limits.rs |
ANCHOR_WAIT_MS | 10_000 | How long a received notification waits for its range's anchor to sync. A notification rides gossip and the change it anchors on rides the document's sync stream, so it may arrive first. Until this daemon's copy of the document resolves the range, the notification is held back and resolved again at each render; past this it is delivered with no range. Milliseconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
QUIET_MS | 10_000 | How long main's visible frontier stays unchanged before it is quiet. A runner serving a change action's channel then prepares a job for it, and navigator reviews take the same debounce. lvcs.toml [runner] quiet_ms may raise it, up to QUIET_MAX_MS. | crates/lvcs-vocab/src/limits.rs |
STOP_WAIT_MAX_MS | QUIET_MS + CHECK_TIMEOUT_SECS * 1_000 | How long lvcs hook Stop waits for the runners. It waits without a model turn for them to decide on the caller's newest changes: the default quiet period plus the check timeout budget, by which a runner that started a job on them has finished it. Past it the hook keeps the turn going and names what is still pending. A harness whose runners queue behind many agents (a swarm fleet's) raises it for its sessions with STOP_WAIT_ENV, up to STOP_WAIT_CEILING_MS; it is never lowered. | crates/lvcs-vocab/src/limits.rs |
STOP_WAIT_CEILING_MS | 3_600_000 | The most STOP_WAIT_ENV raises lvcs hook Stop's wait to: one hour. | crates/lvcs-vocab/src/limits.rs |
STOP_RETRY_MS | 5_000 | The retry_after_ms of a pending stop_gate. Its caller asks again after this long. Not configurable. | crates/lvcs-vocab/src/limits.rs |
QUIET_MAX_MS | 600_000 | The most lvcs.toml [runner] quiet_ms raises QUIET_MS to. | crates/lvcs-vocab/src/limits.rs |
VISIBLE_COALESCE_MS | 1_000 | The shortest interval between two moved frontiers sent to a runner serving change channels. Its daemon coalesces renders of main's file documents into at most one Visible per interval. Not configurable. | crates/lvcs-vocab/src/limits.rs |
RANGE_CONTEXT_MAX_CHARS | 80 | Code points a range's near line keeps: git's hunk-header line, which git cuts at 80 bytes; a code-point cut never splits a character. Not configurable. | crates/lvcs-vocab/src/limits.rs |
DISK_BASE_RING | 4 | Recent disk bases the mirror keeps per file as DiskEdit candidates. | crates/lvcs-vocab/src/limits.rs |
SAVE_SETTLE_MS | 250 | How long a changed file stays unchanged before the mirror reads it where the file watcher reports no close after a write (FSEvents, kqueue, Windows; decisions 131 and 150), so a truncate followed by a write within it is one save; a file whose size or modification time moved during the read is read again once it has been unchanged this long. inotify reports the close, and there a file is read at it. Milliseconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
HELD_RETRY_MS | 250 | How long the mirror waits before writing a file again after another process held it open against the write (Windows: a sharing violation or access denied, the held-rename row refining decision 252). Milliseconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
HELD_DEADLINE_MS | 10_000 | How long the mirror keeps writing a held file again, from the first time a write of that render was held, before it stops and reports the path as write_held (the held-rename row refining decision 252); a later render starts a fresh wait. Milliseconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
PARTICIPANT_SIGN_PER_SEC | 100 | Changes per second the daemon signs for one participant key, the owner's and runners' included: a request whose op signs is refused rate_limited past it, and a mirror save waits for a token. The same for every participant: a tenfold margin over the gating suite's busiest signer, the owner, at 8 a second. Raisable or lowerable in protected lvcs.toml [limits]. | crates/lvcs-vocab/src/limits.rs |
PARTICIPANT_SIGN_BURST | 1_000 | Burst of changes the daemon signs for one participant key above PARTICIPANT_SIGN_PER_SEC: more than ten times the longest back-to-back run of signs the gating suite makes (15). | crates/lvcs-vocab/src/limits.rs |
PARTICIPANT_GOSSIP_PER_SEC | 50 | Gossip messages per second forwarded from one signer, the owner included, before the excess is dropped, and the rate a local announce or publish takes its token at. | crates/lvcs-vocab/src/limits.rs |
GOSSIP_BURST | 100 | Burst of gossip messages above the per-second rate, for any signer. | crates/lvcs-vocab/src/limits.rs |
GOSSIP_FRESH_MS | 30_000 | How far an envelope's signed ts may be from the shell's now_ms, in either direction, before the gossip actor ignores it as stale; an accepted envelope is remembered until ts + GOSSIP_FRESH_MS, so a replay within that span is a duplicate and a later one is stale. 30 s: the clock skew between NTP-synchronized peers plus gossipsub propagation, which holds nothing longer than its few-second message cache. Milliseconds, the unit of the envelope's ts. Not configurable. | crates/lvcs-vocab/src/limits.rs |
GRANT_RENEW_RETRY_MS | 10_000 | How long the grants actor waits before asking again for the renewal of a windowed grant it already asked to renew: the issuer's daemon dropped that renewal, or its caps render hasn't yet listed the renewal in the grant's place. Milliseconds, the unit of the renewal tick's now_ms. Not configurable. | crates/lvcs-vocab/src/limits.rs |
GRANT_RENEW_TICK_MS | 1_000 | How often the daemon sends the grants actor its renewal tick while it lists a grant to renew: a windowed grant is renewed within this long of half its window passing. Milliseconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
GRANT_TTL_MIN_SECS | 10 | The shortest window grant issues: a ttl_secs below it is refused INVALID_PARAMS, so an issuer's daemon renews a lineage at most once every GRANT_TTL_MIN_SECS / 2 seconds, each renewal one more grant in the caps document. Seconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
NAVIGATOR_REVIEWS_PER_MIN | 30 | Reviews one navigator may send per workspace per minute. | crates/lvcs-vocab/src/limits.rs |
QUORUM_DEFAULT | 1 | Attestations from distinct runner devices required to move a change action's channel. Raisable, never lowerable. | crates/lvcs-vocab/src/limits.rs |
QUORUM_PROTECTED | 2 | Attestations from distinct runner devices a frontier needs in each change channel a gated action's after reaches before it takes it, and in every change channel before a protected-path approval counts. Raisable, never lowerable. | crates/lvcs-vocab/src/limits.rs |
ACTOR_IDLE_SECS | 300 | A document actor with no open handle, subscriber, or sync peer for this long is stopped. | crates/lvcs-vocab/src/limits.rs |
COMPACT_SECS | 600 | Interval of the compaction tick that makes a document actor emit a compacted save. | crates/lvcs-vocab/src/limits.rs |
PRESENCE_TTL_SECS | 30 | A participant counts as present on a document until this long after its last presence or edit there. | crates/lvcs-vocab/src/limits.rs |
ACTIVITY_RECENT_SECS | 300 | How far back project.summary counts a project's activity. | crates/lvcs-vocab/src/limits.rs |
HOST_GATHER_MS | 2_000 | How long a host op (project.summary, inbox) waits for each open project's answer before it lists that project with no data. | crates/lvcs-vocab/src/limits.rs |
HOST_SESSIONS_PER_KEY | 8 | Most host-level host peer streams one device key holds at once. | crates/lvcs-vocab/src/limits.rs |
RUN_HISTORY_MAX | 256 | Most runs the runs actor keeps per channel, newest kept. | crates/lvcs-vocab/src/limits.rs |
CHANNEL_MOVES_MAX | 1_024 | Most moves of one channel's value the runs actor keeps for channel.history, newest kept. | crates/lvcs-vocab/src/limits.rs |
RUN_LOG_TAIL_LINES | 50 | Most lines of a run's log run.view answers. | crates/lvcs-vocab/src/limits.rs |
STEP_LOG_TAIL_LINES | 20 | Most lines of one step's masked output a run's runner keeps for run.view and the run push. | crates/lvcs-vocab/src/limits.rs |
SEARCH_RESULTS_MAX | 200 | Most lines one search answers. | crates/lvcs-vocab/src/limits.rs |
SEARCH_FILE_MAX_BYTES | 4 * 1024 * 1024 | Largest file search reads, in bytes; a larger one is skipped. | crates/lvcs-vocab/src/limits.rs |
GIT_IMPORT_POLL_MS | 3_000 | How often the owner's daemon reads each mapped git branch's head, to import commits made outside LVCS. | crates/lvcs-vocab/src/limits.rs |
GIT_IMPORT_FETCH_MS | 15_000 | The least time between two fetches of one [git] import ref by the owner's daemon; a poll between them reads the ref as last fetched. | crates/lvcs-vocab/src/limits.rs |
RESOURCE_STEP_SECS | 60 | The step between two of the daemon's resource samples. | crates/lvcs-vocab/src/limits.rs |
RESOURCE_SAMPLES_MAX | 60 | Resource samples the daemon keeps in memory: one hour of steps. | crates/lvcs-vocab/src/limits.rs |
ISSUE_PRESENCE_SECS | 180 | A participant counts as present on an issue until this long after its last read or edit of the issue, message in one of its threads, plan update, or save or edit linked to it: an agent's turn is longer than PRESENCE_TTL_SECS. The assignee's daemon holds a claim on the issue while its participant is present there. | crates/lvcs-vocab/src/limits.rs |
JOIN_SETTLE_SECS | 120 | How long lvcs join waits with no document settling before it ends incomplete. It waits that long for a connected peer to settle the documents still unsettled, or for the caps document to have a connected peer again, then exits 1. Exchanges that settle nothing (a refused peer's redials, live edits on settled documents) do not extend the wait. A peer that leaves mid-sync settles none of its documents, and a redial of a bootstrap peer comes at most 9 transport ticks of 5 s (45 s) apart, so this is more than twice that wait plus margin: a cut that heals within about a minute still re-syncs. Not configurable. | crates/lvcs-vocab/src/limits.rs |
JOIN_BOUND_SECS | 300 | How long lvcs join runs at most before it ends. A join whose caps document named the project's root by then ends incomplete, its project record written, so the daemon's opening that follows finishes the sync: a busy project's live edits may keep its documents from ever going quiet, and its settles keep JOIN_SETTLE_SECS from ever passing. A join that heard no root by then fails. Not configurable. | crates/lvcs-vocab/src/limits.rs |
RUN_CONCURRENCY | 2 | Most lvcs sandbox steps the per-user daemon's one sandbox executor runs at once, over every project it hosts: a step of a change action, a gated run, or a derivation holds one slot while its sandbox runs, and the next step waits for a free one (a cancelled run stops waiting). Each project's runner actor is otherwise unchanged. Not configurable. | crates/lvcs-vocab/src/limits.rs |
WIRE_MAX_BYTES | 16_777_216 | Largest encoded envelope a peer accepts, on the sync stream or over gossipsub; a larger one is rejected malformed before it is decoded. Chosen at the M3 freeze to bound decoding of untrusted input. | crates/lvcs-vocab/src/limits.rs |
JOURNAL_RECORD_MAX_BYTES | 268_435_456 | Largest journal record body, 256 MiB: a record is one actor event with its snapshots, and its largest payload is one sync message or change (each at most WIRE_MAX_BYTES) or one file's text a mirror saves, so the bound leaves 16 times the wire's room. A write of a larger record fails (and stops the daemon); at start, a length prefix past the end of the journal is a torn tail only when it is at most this, and any larger prefix refuses the start. | crates/lvcs-vocab/src/limits.rs |
JOURNAL_ROTATE_BYTES | 67_108_864 | A journal file's size past which the daemon closes it as segment journal.cbor.1 and starts a fresh one, so a daemon's journal stays bounded whatever its uptime. | crates/lvcs-vocab/src/limits.rs |
JOURNAL_KEEP_SEGMENTS | 4 | Closed journal segments kept beside the current one; older ones are deleted, so a journal holds at most (JOURNAL_KEEP_SEGMENTS + 1) * JOURNAL_ROTATE_BYTES and one record. | crates/lvcs-vocab/src/limits.rs |
JOURNAL_SEGMENT_FACTS | 256 | Fact records a new segment copies from the run so far, newest last, so a document entry naming a recent fact still finds it. | crates/lvcs-vocab/src/limits.rs |
PROJECT_MAX_DOCUMENTS | 262_144 | Most documents a project holds, 2^18: the largest project a peer syncs, and the most documents the sync actor counts as joined with one peer; one more disconnects the peer over_limit. Not configurable. | crates/lvcs-vocab/src/limits.rs |
SYNC_HELD_MAX_MESSAGES | 2 * PROJECT_MAX_DOCUMENTS | Most sync frames the sync actor holds for one peer while the peer's .lvcs/caps round is unsettled: this daemon's other documents' messages for the peer, sent when the round settles. One more disconnects the peer over_limit. 2^19: in one caps round an honest exchange holds at most one answer from each document joined with the peer (at most PROJECT_MAX_DOCUMENTS), since Automerge sends a peer nothing more for a document until the peer answers unless the document's heads change, plus one message for each local change made during the round, which lasts only while the caps document handles the peer's last caps message; twice the project bound covers both. Not configurable. | crates/lvcs-vocab/src/limits.rs |
INVENTORY_HOLDERS_MAX | 64 | Most participant keys one sync inventory names as held by its sender's daemon; one naming more disconnects the peer malformed. Not configurable. | crates/lvcs-vocab/src/limits.rs |
HOST_NAME_MAX_BYTES | 64 | Most bytes of the machine name one sync inventory carries; one carrying more disconnects the peer malformed. Not configurable. | crates/lvcs-vocab/src/limits.rs |
SYNC_HELD_MAX_BYTES | 64 * WIRE_MAX_BYTES | Most bytes of sync frames (each frame's document address and payload) the sync actor holds for one peer while the peer's .lvcs/caps round is unsettled; a frame that would pass it disconnects the peer over_limit. 2^30 (1 GiB): 64 of the largest envelopes the wire admits, and 4 KiB on average for an answer from every document of the largest project. An honest round's answers carry heads, a Bloom filter of the changes since the last sync, and only the changes the peer lacks, each change sent to a peer once. Not configurable. | crates/lvcs-vocab/src/limits.rs |
DEFER_MAX_MESSAGES | 64 | Most sync messages from one peer one document holds deferred until the caps document settles with that peer; one more is rejected no_capability, since an honest peer's messages wait only until the caps changes sent ahead of them arrive. Not configurable. | crates/lvcs-vocab/src/limits.rs |
DEFER_MAX_BYTES | 2 * WIRE_MAX_BYTES | Most payload bytes from one peer one document holds deferred: two of the largest envelopes the wire admits. Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_TIMEOUT_SECS | 600 | Wall clock lvcs sandbox gives one check command before it ends it, and the CPU time it may use (RLIMIT_CPU, decision 134). | crates/lvcs-vocab/src/limits.rs |
CHECK_MEMORY_BYTES | 4 << 30 | Address space one check command may map (RLIMIT_AS, decision 134), and the memory.max of its run's cgroup leaf when the daemon has a delegated cgroup (the sandbox-hardening row): 4 GiB. Runners must agree on it for a quorum, since a check that fits under one limit and not another would pass on one runner and fail on the next. Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_PROCESSES | 512 | Processes one check command may run at once (RLIMIT_NPROC, decision 134), and the pids.max of its run's cgroup leaf when the daemon has a delegated cgroup (the sandbox-hardening row). Runners must agree on it for a quorum. Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_FILE_BYTES | 1 << 30 | The largest file one check command may write (RLIMIT_FSIZE, decision 134): 1 GiB. Runners must agree on it for a quorum. Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_OPEN_FILES | 16_384 | File descriptors one check command's processes may each hold open (RLIMIT_NOFILE, the sandbox-hardening row). Runners must agree on it for a quorum. Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_CORE_BYTES | 0 | The largest core file one check command may dump (RLIMIT_CORE, the sandbox-hardening row): none, so a crash never writes its memory, which may hold a gated run's secrets, to disk. Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_CPUS | 4 | CPUs' worth of time one check command may use at once, as the cgroup v2 cpu.max of its run's leaf when the daemon has a delegated cgroup (the sandbox-hardening row; with none, only RLIMIT_CPU bounds it). Not configurable. | crates/lvcs-vocab/src/limits.rs |
CHECK_LOG_TAIL_BYTES | 16_384 | Bytes at the end of a check's output kept in its job directory's log for the operator; a failed action's action_failed notifications carry a readable text made from it, within CHECK_OUTPUT_TAIL_BYTES. | crates/lvcs-vocab/src/limits.rs |
CHECK_OUTPUT_TAIL_BYTES | 2_048 | The most bytes of the readable text an action_failed notification carries as its content (the command, its exit status, its failing tests, the lines that look like errors, and the end of the output, with stack frames left out), read only through notifications.read; within INBOX_ITEM_MAX_BYTES. | crates/lvcs-vocab/src/limits.rs |
CHANNEL_PAIRS_MAX | 4_096 | Most bundle pairs the channels actor asks about before it counts one frontier; a frontier that needs more is not counted. | crates/lvcs-vocab/src/limits.rs |
CHANNELS_MAX | 32 | Most combinations lvcs.toml's [channels] may declare; one more refuses the file at parse. Not configurable. | crates/lvcs-vocab/src/limits.rs |
GATED_ACTIONS_MAX | 16 | Most gated actions lvcs.toml's [[actions]] may declare; one more refuses the file at parse. Not configurable. | crates/lvcs-vocab/src/limits.rs |
ACTION_SECRETS_MAX | 32 | Most secret names one gated action's secrets may list; one more refuses the file at parse. Not configurable. | crates/lvcs-vocab/src/limits.rs |
ACTION_ENV_BYTES | 256 << 10 | Most bytes of environment one step of an action may run with: the sum, over every variable its run sets after the sandbox's fixed ones, of its name's and value's lengths plus 2, and over its GITHUB_PATH entries of each one's length plus 1. An action whose env alone passes it is refused at parse; a step that would pass it fails. Not configurable. | crates/lvcs-vocab/src/limits.rs |
STEP_FILE_BYTES | 64 << 10 | Most bytes one step file (GITHUB_ENV, GITHUB_PATH, GITHUB_OUTPUT, or GITHUB_STATE) may hold when its step ends; a longer one fails the step. Not configurable. | crates/lvcs-vocab/src/limits.rs |
ACTION_STEPS_MAX | 64 | Most steps one action may declare. Not configurable. | crates/lvcs-vocab/src/limits.rs |
ACTION_MATRIX_MAX | 32 | Most cells one workflow job's strategy.matrix may expand to; one more refuses the job too_many. Not configurable. | crates/lvcs-vocab/src/limits.rs |
WORKFLOW_BYTES | 1 << 20 | Most bytes one .github/workflows/ file may hold for LVCS to map it; a larger one is refused too_many. Not configurable. | crates/lvcs-vocab/src/limits.rs |
ACTION_PATTERNS_MAX | 256 | Most patterns one action's paths, uses, or writes may hold; one more refuses the file at parse. Not configurable. | crates/lvcs-vocab/src/limits.rs |
GENERATION_OUTPUTS_MAX | 1_024 | Most output addresses one generation record may hold, sorted and unique; a record with more is refused by the channel verifier. | crates/lvcs-vocab/src/limits.rs |
DERIVED_STATUS_MAX | 64 | Most derived paths status lists for a caller: those its mirrors hold that are stale or failed, or were superseded for it in the last RETRY_WINDOW_SECS, stale and failed first. | crates/lvcs-vocab/src/limits.rs |
RUNNER_PRESENCE_SECS | 10 | How often a runner publishes its presence. A runner publishes it on each gated action's channel it serves, and the runner actor gets a PresenceTick, this often. Seconds. Below PRESENCE_TTL_SECS (30), so a live agent's presence never lapses between two of its publishes. Not configurable. | crates/lvcs-vocab/src/limits.rs |
RUNNER_ONLINE_MS | 2 * 1_000 * RUNNER_PRESENCE_SECS as i64 | How recently a runner's presence on a channel must have arrived for status and channel.list to name it online: two of its publishes. Not configurable. | crates/lvcs-vocab/src/limits.rs |
RUNNER_SEEN_KEEP_MS | 10 * 1_000 * RUNNER_PRESENCE_SECS as i64 | How long the runs actor keeps a runner's last presence on a channel: ten of its publishes; older entries are dropped. Not configurable. | crates/lvcs-vocab/src/limits.rs |
RUNNER_SEEN_PER_CHANNEL_MAX | 64 | Most runners the runs actor keeps a last presence of per channel; past it, the oldest is dropped. Not configurable. | crates/lvcs-vocab/src/limits.rs |
REACH_PEERS_MAX | 64 | Most known peers the reach actor keeps per project; past it, the one seen longest ago is dropped, an offline one first. Not configurable. | crates/lvcs-vocab/src/limits.rs |
STATUS_REVOCATIONS_MAX | 16 | Most revocations status lists as not held by every known peer, newest first. Not configurable. | crates/lvcs-vocab/src/limits.rs |
GATED_TIMEOUT_SECS | 900 | Wall clock the run executor gives one gated action's run before it ends it, recorded as a failed outcome. Seconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
REQUEST_SKEW_MS | 30_000 | How far past the clock a new run request may be dated. run dates a run request after the greatest time its channel's value ranks by (its run requests and its passed trigger runs, decision 269), and refuses, to retry once the clock nears it, when that is later than this past now, so an honest daemon never signs a far-future change. 30 s: the clock skew between NTP-synchronized peers. Milliseconds, the unit of time_ms. Not configurable. | crates/lvcs-vocab/src/limits.rs |
INBOX_MAX_ITEMS | 1_024 | Most pending inbox items per participant, and most delivered ids it remembers per participant, oldest forgotten first. Past it, the newest item of the sender with the most pending items is dropped. | crates/lvcs-vocab/src/limits.rs |
INBOX_MAX_BYTES | 1_048_576 | Most pending inbox text bytes per participant. Past it, the newest item of the sender with the most pending items is dropped. | crates/lvcs-vocab/src/limits.rs |
INBOX_MAX_PER_SENDER | 64 | Most pending inbox items per participant from one sender; past it, that sender's newest item is dropped. | crates/lvcs-vocab/src/limits.rs |
INBOX_ITEM_MAX_BYTES | 4_096 | Bytes of an inbox item's text, cut at a character boundary with truncated set. | crates/lvcs-vocab/src/limits.rs |
INBOX_OPEN_PER_SENDER | 16 | Most open asks and active holds from one sender in a participant's open. | crates/lvcs-vocab/src/limits.rs |
INBOX_MAX_OPEN | 256 | Most entries in a participant's open; past it, the newest of the sender with the most open entries is dropped. | crates/lvcs-vocab/src/limits.rs |
INBOX_SKEW_MS | 30_000 | How far past the shell's now_ms an inbox item's signed ts may be; an item whose ts is later than that, or more than BULLETIN_SECS before now_ms, is dropped at Item. Milliseconds, the unit of ts. | crates/lvcs-vocab/src/limits.rs |
RETRY_WINDOW_SECS | 600 | How long the daemon keeps an answer under its request id. The same id sent again within it gets the first answer, and the request is not applied twice. Seconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
RETRY_ENTRIES_MAX | 1_024 | Most answers the retry window keeps per participant; past it, the oldest is forgotten first. Not configurable. | crates/lvcs-vocab/src/limits.rs |
REQUEST_ID_MAX_BYTES | 128 | Most bytes of a request's request id: a longer one is refused invalid_params. Not configurable. | crates/lvcs-vocab/src/limits.rs |
INTERNAL_RETRY_MS | 1_000 | The retry_after_ms of an internal_error from a transient fault. Such a fault is a part of the daemon not yet running or a document that failed to load; the caller sends the same request again after this long. Milliseconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
ADDRESS_MAX_BYTES | 4_096 | Most bytes of a document address, Linux's PATH_MAX. A longer one is refused invalid_params, and a thread change anchored on one is refused out_of_scope on every peer. Not configurable. | crates/lvcs-vocab/src/limits.rs |
KAD_RECORD_TTL_SECS | 3_600 | How long a Kademlia record lives after it is put on the project's Kademlia protocol. Seconds. Not configurable. | crates/lvcs-vocab/src/limits.rs |
KAD_RECORD_MAX_BYTES | 64 << 10 | Most bytes of one Kademlia record's value on the project's Kademlia protocol. Not configurable. | crates/lvcs-vocab/src/limits.rs |
AUTO_UPDATE_DEFAULT | true | Whether auto-update is on when lvcs update --auto was never run (the updater row). Off is notify-only: the daemon still checks, and records a release as available without applying it. | crates/lvcs-vocab/src/limits.rs |
UPDATE_CHECK_INTERVAL_MS | 86_400_000 | How often the daemon's updater checks for a release, after the check it makes once the daemon is ready: daily. Milliseconds. | crates/lvcs-vocab/src/limits.rs |
UPDATE_JITTER_MS | 3_600_000 | The most jitter added to each daily check, so daemons don't all ask at once: one hour. Milliseconds; the shell draws it. | crates/lvcs-vocab/src/limits.rs |
UPDATE_QUIESCE_RETRY_MS | 60_000 | How long the updater waits to try again for every sandbox slot while a sandbox runs, before it replaces the binary. Milliseconds. | crates/lvcs-vocab/src/limits.rs |
UPDATE_QUIESCE_TRIES | 60 | How many times the updater tries for every sandbox slot before it gives up until the next check. | crates/lvcs-vocab/src/limits.rs |
UPDATE_MANIFEST_MAX_BYTES | 65_536 | The largest manifest or signature the updater reads, in bytes. | crates/lvcs-vocab/src/limits.rs |
UPDATE_ARCHIVE_MAX_BYTES | 268_435_456 | The largest release archive the updater downloads, in bytes. | crates/lvcs-vocab/src/limits.rs |
UPDATE_FETCH_TIMEOUT_SECS | 600 | The longest one updater fetch may take, in seconds; connecting gets UPDATE_CONNECT_TIMEOUT_SECS of it. | crates/lvcs-vocab/src/limits.rs |
UPDATE_CONNECT_TIMEOUT_SECS | 30 | The longest the updater waits to connect, in seconds. | crates/lvcs-vocab/src/limits.rs |
PAIRING_TTL_SECS | 600 | How long an lvcs auth login waits for a device to claim and be confirmed before it expires, in seconds. | crates/lvcs-vocab/src/limits.rs |
DEVICE_NAME_MAX_BYTES | 24 | Most bytes of the device name auth.pair gives, which becomes its alias's stem. | crates/lvcs-vocab/src/limits.rs |
PAIRINGS_MAX | 16 | Pairings open at once in one project. | crates/lvcs-vocab/src/limits.rs |
GRANT_TERM_MAX_BYTES | 128 | Most bytes of a grant's harness or model term, the attribution a receiving daemon copies into every push and inbox item from the grantee: grant refuses a longer one INVALID_PARAMS, and a caps change that puts a grant whose terms exceed it is out_of_scope on every peer. | crates/lvcs-vocab/src/security.rs |
ALIAS_MAX_BYTES | 32 | Most bytes of a grant's alias term: the name its issuer gives the grantee, of lowercase ASCII letters, digits, and -, starting with a letter. An alias is for display and addressing only; authority stays with the key. grant refuses a longer or misshapen one INVALID_PARAMS, and a caps change that puts such a grant is out_of_scope on every peer. | crates/lvcs-vocab/src/security.rs |
SUBTREE_CAP | 32 | Most subtree prefixes lvcs.toml may list for the subtree attribute; fixed in the protocol so the attribute stays bounded. | crates/lvcs-vocab/src/telemetry.rs |
SUBTREE_OTHER | other | The subtree value for paths under no listed prefix. | crates/lvcs-vocab/src/telemetry.rs |
SANDBOX_PATH | &[/usr/local/bin, /usr/bin, /bin] | The directories of the sandbox's fixed PATH, in order: a step's PATH is its GITHUB_PATH entries, then these; the toolchain probes use these alone, so no step can shadow a probe. | crates/lvcs-vocab/src/validate.rs |
WS_NAME_CAP | 16 | Most workspace names lvcs.toml may list for the ws_name attribute. Fixed in the protocol so ws_name stays bounded whatever the config says. | crates/lvcs-vocab/src/ws.rs |
WS_NAME_OTHER | other | The ws_name value for every workspace not listed in lvcs.toml. | crates/lvcs-vocab/src/ws.rs |