diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7ce962e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{js,json,yml,yaml}] +indent_style = space +indent_size = 2 + +[*.sh] +indent_style = space +indent_size = 4 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..bcb7ba3 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,80 @@ +# Changelog + +All notable DeckDoc changes are recorded here. The project follows +[Semantic Versioning](https://semver.org/); dates use `YYYY-MM-DD`. + +## [Unreleased] + +No unreleased changes. + +## [3.3.0] - 2026-07-21 + +### Added + +- DeckMD's six-category guided entry point with 12 nested primary symptoms. +- Twenty-seven explicit contradiction rules that remove incompatible diagnostic paths. +- A grouped, searchable **Browse all checks** fallback covering all 128 diagnostic facts. +- Keyboard, pointer, mobile, URL-state, and no-match interaction validation for DeckMD. +- A local DeckMD favicon with no external runtime dependency. + +### Changed + +- DeckMD now presents one focused follow-up group at a time and initially ranks only the three + strongest matching branches. +- README and Pages copy now describe DeckDoc as a full diagnostic platform rather than a black-screen + utility. + +## [3.2.0] - 2026-07-21 + +### Added + +- Expanded full-system coverage to 17 read-only diagnostic modules and two guarded remediations. +- Opt-in, resource-limited continuous incident probe with bounded private captures. +- Dock, USB-C, Power Delivery, Alt Mode, Ethernet, and external-display evidence collection. +- Read-only DeckDoc Rescue collector and unsigned ArchISO alpha builder. +- Root-owned, exact-command privileged diagnostic authorization prototype. +- Research-backed diagnostic wiki, issue index, and hardware-failure decision guide. +- Initial private, static DeckMD symptom checker and GitHub Pages deployment. + +### Changed + +- Findings distinguish current-boot evidence from retained history and inaccessible sources. +- Steam, memory, thermal, Gamescope, display, and crash signatures gained tighter evidence boundaries. + +## [3.1.0] - 2026-07-21 + +### Added + +- LCD physical-blackout diagnosis and reversible Gamescope forced-composition testing. +- Optional persisted display-stability policy with backup, verification, and rollback. +- LCD blackout investigation notes and user-facing recovery documentation. + +## [3.0.0] - 2026-06-25 + +### Added + +- Diagnosis-first remediation lifecycle: `PRE_CHECK -> BACKUP -> EXECUTE -> VERIFY -> REPORT`. +- Guarded SOF audio reload for a current-boot Vangogh DSP failure signature. +- Display blackout diagnostic module and explicit `--fix` mode. + +## [2.0.0] - 2026-06-25 + +### Added + +- Nine software and operating-system diagnostic modules covering audio, crashes, Wi-Fi, Gamescope, + memory, Steam, microSD, suspend/resume, and GPU page faults. +- Mock regression coverage for the expanded diagnostic set. + +## [1.0.1] - 2026-06-25 + +### Added + +- Initial Steam Deck hardware diagnostic scaffold for GPU, battery, thermals, NVMe, and filesystems. + +[Unreleased]: https://github.com/deucebucket/deckdoc/compare/v3.3.0...HEAD +[3.3.0]: https://github.com/deucebucket/deckdoc/releases/tag/v3.3.0 +[3.2.0]: https://github.com/deucebucket/deckdoc/commit/6d31a545cdb947892d9e6179fb8188d5d26cff88 +[3.1.0]: https://github.com/deucebucket/deckdoc/pull/14 +[3.0.0]: https://github.com/deucebucket/deckdoc/pull/12 +[2.0.0]: https://github.com/deucebucket/deckdoc/pull/10 +[1.0.1]: https://github.com/deucebucket/deckdoc/commit/0e8eb36 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..57f1e71 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 deucebucket + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 8bcd6e7..57f2278 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # DeckDoc +**Current source release: v3.3.0** · [Changelog](CHANGELOG.md) · +[Roadmap](ROADMAP.md) · [DeckMD](https://deucebucket.github.io/deckdoc/) · +[Diagnostic wiki](https://github.com/deucebucket/deckdoc/wiki) + DeckDoc is a full-system Steam Deck diagnostic and incident-response platform. It helps answer the larger question behind almost every Deck failure: **what actually failed, what evidence supports that conclusion, and what is the safest next action?** @@ -197,6 +201,8 @@ privileged/ one-time approved, exact-command diagnostic broker config/ optional Gamescope policy template docs/wiki/ GitHub-wiki-ready diagnostic center tests/test_runner.sh mocked behavior and safety regression checks +VERSION canonical source release version +CHANGELOG.md release history and current unreleased state remediation_backups/ created only when a remediation records state logs/ generated reports; ignored by Git ``` @@ -241,4 +247,4 @@ and production hardening/signing of the probe and Rescue image. ## License -MIT +[MIT](LICENSE) diff --git a/ROADMAP.md b/ROADMAP.md index 6d54e5b..bfdceda 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,4 +1,4 @@ -# DeckDoc v3.2 roadmap — full-system diagnostics and incident response +# DeckDoc v3.3.0 roadmap — full-system diagnostics and incident response DeckDoc's product is evidence, correlation, and safe decision support. It should help a user separate application/configuration faults, SteamOS/driver faults, accessory or dock faults, and strong hardware @@ -13,7 +13,7 @@ narrow and is not the measure of project coverage. | Incident probe | Opt-in bounded event capture prototype; private, resource-limited, no remediation | | Dock analysis | USB/Type-C/PD/Alt Mode/display/Ethernet evidence and current-boot path-error correlation | | DeckDoc Rescue | Read-only collector plus unsigned ArchISO alpha builder for outside-OS comparison | -| DeckMD | Static local-only symptom checker with progressive questions and ranked diagnostic branches | +| DeckMD | Public, static, local-only checker with six guided categories, contradiction pruning, 128 facts, and 15 ranked branches | | Diagnostic wiki | Symptom routes, evidence interpretation, safe contrasts, recovery, and hardware decisions | | Privileged collection | One-time approved, exact-command, root-owned diagnostic broker prototype | | Remediation | Two guarded signature-specific paths: SOF reload and Gamescope forced-composition test | @@ -45,8 +45,8 @@ redacted bundles without automatic upload. third-party paths and generate direct-vs-dock differential summaries. - [#19 Privileged authorization](https://github.com/deucebucket/deckdoc/issues/19): adversarially review the allowlist, snapshot integrity, output path, environment, and revocation flow. -- [#23 DeckMD](https://github.com/deucebucket/deckdoc/issues/23): deploy Pages, share a versioned - vocabulary, expand rules, and complete keyboard/touch/responsive/accessibility validation. +- [#23 DeckMD](https://github.com/deucebucket/deckdoc/issues/23): keep the launched Pages app aligned + with CLI/wiki vocabulary, validate on physical Deck hardware, and complete a formal accessibility audit. ## P2 — close broad subsystem gaps diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..15a2799 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +3.3.0 diff --git a/deckdoc.sh b/deckdoc.sh index c61436a..503683d 100755 --- a/deckdoc.sh +++ b/deckdoc.sh @@ -31,6 +31,12 @@ fi DECKDOC_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export DECKDOC_DIR +if [ -r "${DECKDOC_DIR}/VERSION" ]; then + DECKDOC_VERSION=$(<"${DECKDOC_DIR}/VERSION") +else + DECKDOC_VERSION="unknown" +fi +readonly DECKDOC_VERSION MODULES_DIR="${DECKDOC_DIR}/modules" LOG_DIR="${DECKDOC_LOG_DIR:-${DECKDOC_DIR}/logs}" REPORT_FILE="${LOG_DIR}/deckdoc_master_report_$(date +%s).log" @@ -44,7 +50,7 @@ panic_sync() { trap panic_sync EXIT HUP INT QUIT TERM echo "========================================" > "${REPORT_FILE}" -echo "DeckDoc v3.2.0 - Diagnostics + Safe Remediation" >> "${REPORT_FILE}" +echo "DeckDoc v${DECKDOC_VERSION} - Diagnostics + Safe Remediation" >> "${REPORT_FILE}" echo "Timestamp: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> "${REPORT_FILE}" echo "Reported symptom: display-black=${DISPLAY_BLACK_REPORTED}" >> "${REPORT_FILE}" echo "========================================" >> "${REPORT_FILE}" diff --git a/docs/index.html b/docs/index.html index 08e3a17..15f9fdd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -144,7 +144,7 @@