Skip to content

Commit 2a25adc

Browse files
committed
chore: automated sync of local changes
1 parent 4168e91 commit 2a25adc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+7774
-583
lines changed

.github/workflows/instant-sync.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,32 @@ jobs:
4747
- name: Confirm
4848
if: steps.check.outputs.has_token == 'true'
4949
run: echo "::notice::Propagation triggered for ${{ github.event.repository.name }}"
50+
51+
- name: K9-SVC Validation
52+
run: |
53+
echo "Running K9-SVC contractile validation..."
54+
if [ -f .machine_readable/contractiles/must/Mustfile.a2ml ]; then
55+
echo "✅ Mustfile found - running validation"
56+
# Placeholder for actual K9 validation
57+
echo "K9 validation would run here"
58+
else
59+
echo "❌ Mustfile not found"
60+
exit 1
61+
fi
62+
63+
- name: Contractile Check
64+
run: |
65+
echo "Checking contractile completeness..."
66+
contractiles=("must" "trust" "dust" "lust" "adjust" "intend")
67+
missing=0
68+
for c in "${contractiles[@]}"; do
69+
if [ ! -f ".machine_readable/contractiles/$c/${c^}file.a2ml" ]; then
70+
echo "❌ Missing: $c"
71+
missing=$((missing + 1))
72+
fi
73+
done
74+
if [ $missing -gt 0 ]; then
75+
echo "❌ $missing contractiles missing"
76+
exit 1
77+
fi
78+
echo "✅ All contractiles present"
Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,19 @@
1-
// SPDX-License-Identifier: PMPL-1.0-or-later
2-
= PanLL Contractiles — Security and Governance Declarations
3-
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
1+
= Contractiles Template Set
2+
:toc:
3+
:sectnums:
44

5-
== What Are Contractiles?
5+
This directory contains the generalized contractiles templates. Copy the `.machine_readable/contractiles/` directory into a new repo to establish a consistent operational, validation, trust, recovery, and intent framework.
66

7-
Contractiles are the elastic, adaptive state-shapes between the Operator
8-
and the Machine. They declare what PanLL **must** do, what it **can** recover
9-
from, and where it **intends** to go.
7+
== Fill-In Instructions
108

11-
== Directory Structure
9+
1. Update the Mustfile to reflect your real invariants (paths, schema versions, ports).
10+
2. Replace Trustfile.hs placeholders with your actual key paths and verification commands.
11+
3. Adjust Dustfile handlers to match your rollback and recovery tooling.
12+
4. Update Intentfile to mirror the roadmap you want the system to evolve toward.
1213

13-
[cols="1,2,3"]
14-
|===
15-
| Directory | File | Purpose
14+
== Contents
1615

17-
| `trust/`
18-
| `Trustfile.a2ml`
19-
| Cryptographic and policy declarations — post-quantum keys, threat model, formal verification theorems, accessibility commitments, container supply chain
20-
21-
| `must/`
22-
| `Mustfile`
23-
| Declarative invariant checks — build succeeds, tests pass, layout contracts valid, SPDX headers present, no port conflicts
24-
25-
| `dust/`
26-
| `Dustfile`
27-
| Recovery and rollback semantics — state corruption, proof session crashes, tactic undo, layout preset corruption
28-
29-
| `lust/`
30-
| `Intentfile`
31-
| Declared future intent — proof UX, SLM integration, collaboration, discipline layouts, persistence, accessibility, infrastructure
32-
|===
33-
34-
== Relationship to K9-SVC
35-
36-
The `layouts/` directory at the project root contains K9 Self-Validating
37-
Components at **Yard** security level (Nickel evaluation, no I/O). These
38-
are governed by the Trustfile's `layout_presets` policy.
39-
40-
The collaboration server deployment (when built) will use K9 components
41-
at **Hunt** level (full execution, signature required).
42-
43-
== Relationship to PanLL Cognitive Governance
44-
45-
PanLL's runtime contractiles (Anti-Crash, Vexometer, Orbital Sync,
46-
Divergence Limit, Autonomy Bound) are defined in
47-
`src/model/GovernanceModel.res` and evaluated by `src/core/Contractiles.res`.
48-
49-
These _build-time_ contractiles in this directory complement the runtime
50-
ones — the Mustfile checks that the code compiles correctly, the Trustfile
51-
declares the formal properties, and the Dustfile handles recovery.
16+
* `must/Mustfile` - required invariants and validations.
17+
* `trust/Trustfile.hs` - cryptographic verification steps.
18+
* `dust/Dustfile` - rollback and recovery semantics.
19+
* `lust/Intentfile` - future intent and roadmap direction.
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Adjustfile — Accessibility Contract for Burble
3+
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
#
5+
# Accessibility requirements and compliance for Burble.
6+
# Voice-first design must be inclusive for all users.
7+
#
8+
# Run with: adjust check
9+
# Fix with: adjust fix (where deterministic fix exists)
10+
11+
@abstract:
12+
Accessibility requirements and compliance for the Burble voice-first communications platform.
13+
These requirements ensure Burble is usable by everyone, regardless of ability.
14+
@end
15+
16+
## Keyboard Accessibility
17+
18+
### keyboard-navigation
19+
- description: All features accessible via keyboard
20+
- status: partial
21+
- probe: test -f server/lib/burble/accessibility/keyboard.ex
22+
- compliance: WCAG 2.1 AA
23+
- notes: Basic navigation implemented. Full keyboard-only flow needed.
24+
- fix: Port PanLL's comprehensive keyboard navigation system
25+
26+
### custom-keybindings
27+
- description: User-configurable keybindings
28+
- status: implemented
29+
- probe: test -f server/lib/burble/accessibility/keyboard.ex
30+
- compliance: WCAG 2.1 AAA
31+
- notes: Users can remap PTT, mute, deafen, volume, and room navigation keys
32+
33+
### keyboard-shortcuts-discoverable
34+
- description: Keyboard shortcuts are documented and discoverable
35+
- status: missing
36+
- compliance: WCAG 2.1 A
37+
- fix: Add keyboard shortcuts help modal in web client
38+
39+
## Visual Accessibility
40+
41+
### high-contrast-mode
42+
- description: High contrast UI theme
43+
- status: missing
44+
- compliance: WCAG 2.1 AA
45+
- fix: Port PanLL's high-contrast theme system
46+
- target: CSS variables for contrast ratios >= 4.5:1
47+
48+
### colorblind-support
49+
- description: Colorblind-friendly color schemes
50+
- status: missing
51+
- compliance: WCAG 2.1 AA
52+
- fix: Implement deuteranopia, protanopia, and tritanopia palettes
53+
- reference: PanLL's palette system
54+
55+
### font-size-adjustment
56+
- description: Resizable UI fonts (4 levels: 14-20px)
57+
- status: missing
58+
- compliance: WCAG 2.1 AA
59+
- fix: Port PanLL's font size adjustment system
60+
- target: User preference persists across sessions
61+
62+
### theme-switching
63+
- description: Dark/Light/System theme support
64+
- status: missing
65+
- compliance: WCAG 2.1 AA
66+
- fix: Port PanLL's theme system
67+
- target: Respects OS preference, user override
68+
69+
## Auditory Accessibility
70+
71+
### screen-reader-support
72+
- description: Full screen reader compatibility
73+
- status: partial
74+
- probe: test -f server/lib/burble/accessibility/screen_reader.ex
75+
- compliance: WCAG 2.1 AA
76+
- notes: Basic announcements implemented. Needs ARIA attributes and live regions.
77+
- fix: Complete ARIA implementation in web client
78+
79+
### closed-captions
80+
- description: Real-time captioning for voice chat
81+
- status: missing
82+
- compliance: WCAG 2.1 AA
83+
- notes: Requires Web Speech API or external STT integration
84+
- target: 90%+ accuracy for English, configurable display
85+
86+
### visual-notifications
87+
- description: Visual indicators for audio events
88+
- status: missing
89+
- compliance: WCAG 2.1 A
90+
- notes: Speaking indicators, mute status, connection status
91+
- fix: Add visual cues that duplicate audio information
92+
93+
### volume-normalization
94+
- description: Consistent volume levels across users
95+
- status: missing
96+
- compliance: WCAG 2.1 AA
97+
- notes: Prevents sudden loud sounds for sensitive users
98+
- target: -23 LUFS normalization per EBU R128
99+
100+
## Motor Accessibility
101+
102+
### voice-commands
103+
- description: Voice-controlled interface
104+
- status: missing
105+
- compliance: WCAG 2.1 AAA
106+
- notes: "Mute", "Deafen", "Join room X", "Volume up/down"
107+
- target: Web Speech API with fallback to keyboard
108+
109+
### reduced-motion
110+
- description: Reduced animation options
111+
- status: missing
112+
- compliance: WCAG 2.1 AA
113+
- fix: Port PanLL's animation control (on/reduced/off)
114+
- target: Respects prefers-reduced-motion media query
115+
116+
### hover-alternatives
117+
- description: All hover interactions have click alternatives
118+
- status: partial
119+
- compliance: WCAG 2.1 AA
120+
- notes: Some hover tooltips need click-to-show option
121+
- fix: Audit and add click alternatives
122+
123+
## Cognitive Accessibility
124+
125+
### clear-language
126+
- description: Simple, consistent terminology
127+
- status: partial
128+
- compliance: WCAG 2.1 AAA
129+
- notes: Technical terms need plain language explanations
130+
- fix: Add tooltips/glossary for jargon
131+
132+
### predictable-navigation
133+
- description: Consistent navigation patterns
134+
- status: partial
135+
- compliance: WCAG 2.1 AA
136+
- notes: Navigation structure varies between pages
137+
- fix: Standardize navigation layout
138+
139+
### error-prevention
140+
- description: Confirmation for destructive actions
141+
- status: partial
142+
- compliance: WCAG 2.1 AA
143+
- notes: Room deletion has confirmation, others may not
144+
- fix: Audit all destructive actions
145+
146+
### help-availability
147+
- description: Context-sensitive help always available
148+
- status: missing
149+
- compliance: WCAG 2.1 AAA
150+
- notes: No persistent help system
151+
- fix: Add help button with contextual guidance
152+
153+
## Compliance Targets
154+
155+
### wcag-2.1-aa
156+
- description: WCAG 2.1 AA compliance
157+
- status: partial
158+
- target: Full compliance by Q4 2026
159+
- tracking: https://github.com/hyperpolymath/burble/issues/XXX
160+
161+
### section-508
162+
- description: U.S. Section 508 compliance
163+
- status: partial
164+
- target: Full compliance by Q4 2026
165+
- notes: Aligns with WCAG 2.1 AA for most requirements
166+
167+
### en-301-549
168+
- description: EU EN 301 549 compliance
169+
- status: partial
170+
- target: Full compliance by Q4 2026
171+
- notes: EU public sector procurement requirement
172+
173+
## Integration Requirements
174+
175+
### panll-accessibility-port
176+
- description: Port PanLL's accessibility engine to Burble
177+
- status: planned
178+
- reference: /var/mnt/eclipse/repos/panll/tests/accessibility_engine_test.js
179+
- target: Q2 2026
180+
181+
### k9-accessibility-validator
182+
- description: Integrate K9 accessibility validator
183+
- status: planned
184+
- reference: /var/mnt/eclipse/repos/panll/contractiles/k9/validators/accessibility-baseline.k9.ncl
185+
- target: Q2 2026
186+
187+
### accessibility-testing
188+
- description: Add accessibility tests to CI/CD
189+
- status: planned
190+
- target: pa11y or axe-core integration
191+
- compliance: Automated WCAG testing
192+
193+
## Documentation Requirements
194+
195+
### accessibility-guide
196+
- description: User-facing accessibility guide
197+
- status: missing
198+
- target: docs/accessibility/USER-GUIDE.adoc
199+
- notes: Keyboard shortcuts, screen reader setup, theme switching
200+
201+
### developer-accessibility
202+
- description: Developer accessibility guidelines
203+
- status: missing
204+
- target: docs/accessibility/DEVELOPER.adoc
205+
- notes: Coding standards, testing requirements, compliance checklist
206+
207+
### compliance-report
208+
- description: Accessibility compliance report
209+
- status: missing
210+
- target: docs/compliance/ACCESSIBILITY.adoc
211+
- notes: VPAT (Voluntary Product Accessibility Template)

0 commit comments

Comments
 (0)