-
-
Notifications
You must be signed in to change notification settings - Fork 0
docs: separate precision suite roles and ForthWall safety #72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
08b228a
0fdf36f
92a1c72
cb83bdc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -20,17 +20,58 @@ This project must declare **MPL-2.0-or-later** for platform/tooling compatibilit | |
|
|
||
| Philosophy: **Palimpsest**. The MPL-2.0 (PMPL) text is provided in `license/MPL-2.0.txt`, and the canonical source is the palimpsest-license repository. | ||
|
|
||
| Cross-platform document editor with format tabs (TXT/MD/ADOC/DJOT/ORG/RST/TYP). Gossamer GUI + Ada TUI. Graph visualization, OCR, TTS/STT, Nickel pipelines. | ||
| DocMatrix is multi-format document conversion and precision infrastructure for | ||
| the wider document suite. The tabbed multi-format viewer/editor is the separate | ||
| *Formatrix Docs* project. GUI, TUI, graph, and editor claims in copied or | ||
| ecosystem-level documents must not be attributed to DocMatrix itself. | ||
|
|
||
| ForthWall is a proposed capability-bounded Forth execution layer for critical | ||
| precision operations. It is not currently implemented or proved. | ||
|
|
||
| == Features | ||
|
|
||
| * *Format Tabs* - View and edit the same document in multiple markup formats | ||
| * *Unified AST* - Lossless conversion between formats | ||
| * *GUI* - Gossamer with AffineScript frontend | ||
| * *TUI* - Ada with AdaCurses for terminal usage | ||
| * *Graph Visualization* - ArangoDB for document relationships | ||
| * *Accessibility* - OCR, TTS, STT support | ||
| * *Pipelines* - Nickel-based import/export transformations | ||
| * *Current core* - Parse and render supported formats through a unified AST | ||
| * *Current interfaces* - Rust conversion APIs plus a C ABI/FFI surface | ||
| * *Suite boundary* - Formatrix Docs owns the tabbed viewer/editor experience | ||
| * *Critical-mode proposal* - ForthWall rules bounded to declared inputs, | ||
| approved document operations, and independently verified outputs | ||
|
|
||
| == Precision document suite | ||
|
|
||
| DocMatrix is designed to cooperate with two distinct user-facing tools: | ||
|
|
||
| * https://github.com/hyperpolymath/formatrix-docs[Formatrix Docs] — view one | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 MEDIUM RISK This URL is missing the double slashes after the protocol (should be |
||
| logical document through tabbed TXT, delimiter-selected tabular text, | ||
| Markdown, AsciiDoc, Djot, and A2ML representations, with synchronised editing | ||
|
Comment on lines
+44
to
+45
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ⚪ LOW RISK The list of supported formats provided here (including A2ML and omitting ORG, RST, and TYP) is inconsistent with the '7 synchronised format views' defined in |
||
| as the intended progression; and | ||
| * https://github.com/hyperpolymath/blocky-writer[Blocky Writer] — fit content | ||
| into fixed-layout PDF and application-form boxes, baselines, and | ||
| per-character cells that were designed for hand spacing rather than reliable | ||
| computer entry. | ||
|
|
||
| The responsibilities must remain separate in code and evidence. Conversion | ||
| correctness does not prove synchronised editing, and synchronised editing does | ||
| not prove page-coordinate placement. A ForthWall operation may coordinate a | ||
| bounded critical step only after the relevant component's own semantic, | ||
| round-trip, geometry, confinement, and independent-verification gates pass. | ||
| The versioned composition contract is tracked in | ||
| https://github.com/hyperpolymath/docmatrix/issues/71[issue #71]; it explicitly | ||
| forbids making Microsoft Word or another lossy hub format mandatory. | ||
|
|
||
| == Conversion delivery gate | ||
|
|
||
| DocMatrix conversion claims require independently reproducible tests that | ||
| round trips preserve every construct described as lossless, lossy conversions | ||
| are reported, input and output formats are identified, and malformed or | ||
| ambiguous documents fail without silent rewriting. Viewer/editor behaviours | ||
| such as cursor mapping, synchronised tabs, and undo/redo belong to Formatrix | ||
| Docs and must be proved there. | ||
|
Comment on lines
+63
to
+68
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- README scope and gate ---'
sed -n '20,75p' README.adoc
sed -n '95,125p' README.adoc
printf '%s\n' '--- candidate conversion definitions and callers ---'
rg -n --glob '!README.adoc' 'from\s*==\s*to|from.*to|DocMatrix|convert\(' .Repository: hyperpolymath/docmatrix Length of output: 9131 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- resolved core conversion API ---'
sed -n '110,190p' crates/formatrix-core/src/traits.rs
printf '%s\n' '--- resolved GUI conversion caller ---'
sed -n '225,270p' crates/formatrix-gui/src/commands.rs
printf '%s\n' '--- FFI conversion path ---'
sed -n '370,425p' crates/formatrix-core/src/ffi.rs
printf '%s\n' '--- identity-conversion tests and parser/refusal contracts ---'
rg -n -C 4 'from == to|same.format|identity|ambiguous|malformed|parse\(' crates/formatrix-core crates/formatrix-guiRepository: hyperpolymath/docmatrix Length of output: 50379 Validate identity conversions before returning input.
🤖 Prompt for AI Agents |
||
|
|
||
| Critical-mode automatic editing through the proposed ForthWall layer has an | ||
| additional safety gate: bounded capabilities, exact input hashes and evidence | ||
| spans, semantic refusal conditions, replay traces, and independent verification | ||
| of every applied edit. See | ||
| https://github.com/hyperpolymath/docmatrix/issues/70[issue #70]. | ||
|
|
||
| == Supported Formats | ||
|
|
||
|
|
@@ -57,11 +98,10 @@ just deps | |
| # Build all components | ||
| just build | ||
|
|
||
| # Run GUI | ||
| just run-gui | ||
| # Exercise the currently evidenced conversion core | ||
| just test-core | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 MEDIUM RISK Suggestion: The documentation now references a |
||
|
|
||
| # Run TUI | ||
| just run-tui | ||
| # GUI and TUI recipes are ecosystem scaffolding, not DocMatrix capability proof | ||
|
Comment on lines
+101
to
+104
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- relevant files ---'
git ls-files | rg '(^|/)(README\.adoc|Justfile|justfile|.*test.*|.*spec.*)$' | head -200
printf '%s\n' '--- README Quick Start ---'
cat -n README.adoc | sed -n '90,125p'
printf '%s\n' '--- just recipe definitions ---'
for f in Justfile justfile; do
if [ -f "$f" ]; then
printf '%s\n' "--- $f ---"
cat -n "$f"
fi
doneRepository: hyperpolymath/docmatrix Length of output: 26198 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- README scope and verification claims ---'
cat -n README.adoc | sed -n '20,80p'
printf '%s\n' '--- Cargo package declarations ---'
rg -n -A12 -B3 '^\[workspace\]|^name\s*=\s*"formatrix-core"|^\[package\]' Cargo.toml crates/formatrix-core/Cargo.toml
printf '%s\n' '--- core test outlines and conversion references ---'
for f in crates/formatrix-core/tests/*.rs; do
printf '%s\n' "--- $f ---"
rg -n '^(#\[test\]|fn |mod )|convert|parse|render|format|refus|ambig|malform' "$f"
doneRepository: hyperpolymath/docmatrix Length of output: 19328 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- delivery-gate test assertions ---'
rg -n -i -C3 'loss|ambig|malform|round.?trip|source_format|target_format|format identification|silent|rewrite|Err|error' \
crates/formatrix-core/tests crates/formatrix-core/src
printf '%s\n' '--- core source outline ---'
ast-grep outline crates/formatrix-core/srcRepository: hyperpolymath/docmatrix Length of output: 50379 Keep
🤖 Prompt for AI Agents |
||
| ---- | ||
|
|
||
| == Architecture | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Use one suite boundary across all architecture documents.
The changed README defines DocMatrix conversion infrastructure, Formatrix Docs viewing/editing, and Blocky Writer fixed-layout placement. Other changed sections still attribute conversion to Formatrix Docs, omit Blocky Writer, or label Formatrix Docs as a delivered human editor.
README.adoc#L23-L29: label the architecture tree as ecosystem or Formatrix Docs scaffolding.docs/DOCUMENTATION-SYSTEM-ARCHITECTURE.adoc#L60-L74: add DocMatrix as the conversion dependency and keep editor capabilities proposed.docs/DOCUMENTATION-SYSTEM-ARCHITECTURE.adoc#L508-L513: replace “Multi-format converter” with viewer/editor wording.docs/DOCUMENTATION-SYSTEM-ARCHITECTURE.adoc#L522-L523: name Blocky Writer or narrow the lifecycle claim.docs/MOSCOW-REQUIREMENTS.adoc#L197-L202: rename theHuman Editorheading and separate current from proposed requirements. (github.com)📍 Affects 3 files
README.adoc#L23-L29(this comment)docs/DOCUMENTATION-SYSTEM-ARCHITECTURE.adoc#L60-L74docs/DOCUMENTATION-SYSTEM-ARCHITECTURE.adoc#L508-L513docs/DOCUMENTATION-SYSTEM-ARCHITECTURE.adoc#L522-L523docs/MOSCOW-REQUIREMENTS.adoc#L197-L202🤖 Prompt for AI Agents
Source: MCP tools