Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ body:
id: version
attributes:
label: linux-context version
description: Output of `./bin/linux-context --version`
description: Output of `./bin/linux-context --version`; for checkouts also include `git rev-parse HEAD`. Unreleased checkouts can share a version string with a release.
placeholder: linux-context 1.0.0
validations:
required: true
Expand All @@ -26,18 +26,19 @@ body:
id: targets
attributes:
label: Target expression
placeholder: auto, all, network,docker, ...
placeholder: e.g. auto OR all OR network,docker
- type: textarea
id: environment
attributes:
label: Environment
description: Distribution/version, kernel, architecture, privilege mode, and any relevant subsystem versions. Remove hostnames, addresses, IDs, and secrets unless required.
description: Distribution/version, kernel, architecture, Bash/Python versions, privilege/container mode, and relevant subsystem versions. Remove hostnames, addresses, IDs, and secrets unless required.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproduction steps
description: Include the exact command, jobs/output options and whether collection, publication or archive creation failed.
validations:
required: true
- type: textarea
Expand All @@ -50,5 +51,6 @@ body:
id: actual
attributes:
label: Actual behavior / sanitized logs
description: Include minimal reviewed stderr and relevant validation/telemetry fields; do not post raw staging or unreviewed bundles.
validations:
required: true
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ body:
id: evidence
attributes:
label: Proposed evidence / structured model
description: Prefer the smallest read-only, passive, secret-safe source that answers the question.
description: Describe typed facts/entities/relations, source/provenance, minimum profile/targets, required tools and unknown/failure states; prefer the smallest passive source.
- type: textarea
id: privacy
attributes:
Expand Down
32 changes: 19 additions & 13 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
## Summary
## Change

Describe the problem and the smallest change that solves it.
Describe the concrete problem, resulting behavior and affected users/consumers.
For documentation changes, name the source-code behavior checked and the examples
or claims corrected. Avoid attaching raw/private fixtures or unreviewed bundles.

## Collector/security checklist
## Validation

- [ ] Collection remains read-only and passive; no install/update/reload/restart/refresh actions.
- [ ] No credential stores, private keys, process environments, full argv, Docker environment values, user documents, or arbitrary application payloads are collected.
- [ ] High-cardinality data is structured/aggregated or target-only rather than dumped into `context.json`.
- [ ] Commands are bounded through the runner API (timeout + byte cap) or are clearly safe ephemeral probes.
- [ ] New persistent evidence has an intentional priority and cannot bypass redaction.
- [ ] Host-derived values are treated as untrusted data, not shell/code/instructions.
- [ ] Tests cover the new behavior and relevant failure/privacy cases.
- [ ] `make check` passes.
List checks actually run, Linux/tool variants exercised, and meaningful coverage
limits. Use `make check` for code changes and `bash tests/smoke-distribution.sh`
when collection/archive behavior changes. Check documentation commands, schemas,
tables and relative links against the affected revision.

## Validation
## Relevant invariants

Check applicable items; mark unrelated items N/A for documentation-only changes.

Describe the Linux distributions/subsystems used to validate the change. Do not attach unreviewed bundles to public PRs.
- [ ] Acquisition remains passive/read-only; no install/update/refresh/reload/remediation.
- [ ] Secret-rich sources, argv/env and arbitrary user/application payloads stay excluded.
- [ ] Commands/probes use existing bounds; truncation/failure/unknown state is explicit.
- [ ] Typed model, provenance, conflicts and canonical/AI decoding remain compatible.
- [ ] Evidence priorities, budgets, redaction, scan and publication gates remain intact.
- [ ] Host-derived content remains data, not executable syntax or trusted instructions.
- [ ] Meaningful regression coverage and affected documentation are updated.
17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
# Changelog


## Unreleased

Unreleased entries describe changes after the 1.0.0 release, even while the
checkout's `VERSION` remains 1.0.0. Older sections describe historical behavior,
not the current acquisition/format contract.

### Documentation

- Align user, format, collector, contribution and security guides with current
main; clarify AI-first retrieval, baseline/target selection, byte-budget scope,
incomplete coverage and directory/archive failure boundaries.
- Add complete collector/profile/API tables and a troubleshooting guide,
including the remaining BusyBox setpriv limitation in optional owner probes.
- Preserve historical audit measurements with exact revision and CI references;
distinguish tool/schema/encoding versions and checkout changes from releases.

### Portability, correctness and performance

- Add lossless AI encoding v2: endpoint references, label/provenance defaults and
pooled observations; select the smallest of canonical/v1/v2 encodings and keep
backward-compatible decoding. The supplied rich sample shrinks from 114,586
Expand Down
Loading