Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
380266f
Reset ATO scope and define full-system design work packages
pratham-cloud-ctrl Oct 8, 2026
6c80eae
Specify full SCCI mechanisms architecture and Stage 1 requirements
pratham-cloud-ctrl Oct 8, 2026
756a12b
Quantify SCCI architecture and add preliminary native CAD allocation
pratham-cloud-ctrl Oct 8, 2026
39747dc
Close Stage 2 architecture audit with explicit scheduling and memory …
pratham-cloud-ctrl Oct 8, 2026
dd1f7b4
Make CAD inspection receipt portable across Windows and Linux
pratham-cloud-ctrl Oct 8, 2026
526b854
Implement Stage 3 SCCI mechanism studies and scoped verification
pratham-cloud-ctrl Oct 8, 2026
c18b43a
Qualify Stage 3 numerics and observed mechanism domains
pratham-cloud-ctrl Oct 9, 2026
a87faf0
Trace SCCI mechanisms through bounded pilot and native monitor
pratham-cloud-ctrl Oct 12, 2026
87a2a37
Verify phase-charge study and portable source reproduction
pratham-cloud-ctrl Oct 12, 2026
48aa78a
Bound Stage 3 closeout and record engineering tool recommendations
pratham-cloud-ctrl Oct 12, 2026
8b618d6
Confirm bounded observed-state prediction and verify target toolchain
pratham-cloud-ctrl Oct 12, 2026
7e2e610
Specify conditional SCCI concept and preserve conservative findings
pratham-cloud-ctrl Oct 13, 2026
752b4ce
Replay frozen pilot with exact inherited context bytes in scratch
pratham-cloud-ctrl Oct 13, 2026
3966bc9
Implement native dual-source driver and bounded circuit studies
pratham-cloud-ctrl Oct 13, 2026
7ce63b6
Implement isolated native spinal recording front end
pratham-cloud-ctrl Oct 13, 2026
43d06d2
Implement native contact routing and MCP-backed verification
pratham-cloud-ctrl Oct 13, 2026
aba76e6
Implement independent terminal shutdown and supervision
pratham-cloud-ctrl Oct 13, 2026
12302c1
Implement power reference and complete quantitative budgets
pratham-cloud-ctrl Oct 14, 2026
6c5ab9a
Complete monitoring and companion interface package
pratham-cloud-ctrl Oct 14, 2026
bf0bdf8
Implement actual nRF5340 target firmware and bounded control runtime
pratham-cloud-ctrl Oct 14, 2026
7a4371b
Integrate populated SCCI reference boards and controller carrier
pratham-cloud-ctrl Oct 15, 2026
7360158
Complete native mechanical assemblies and conditional spinal package
pratham-cloud-ctrl Oct 16, 2026
aedcd61
Complete integrated SCCI manuscript and digital release dossier
pratham-cloud-ctrl Oct 16, 2026
425f6c9
Normalize license text in cross-platform release audit
pratham-cloud-ctrl Oct 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
53 changes: 53 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
* text=auto
.gitattributes text eol=lf
*.yml text eol=lf
*.py text eol=lf
*.md text eol=lf
*.csv text eol=lf
Expand All @@ -7,6 +9,15 @@
*.svg text eol=lf
*.kicad_sch text eol=lf
*.kicad_pcb text eol=lf
*.kicad_sym text eol=lf
*.kicad_mod text eol=lf
*.kicad_pro text eol=lf
*.net text eol=lf
*.xml text eol=lf
*.cir text eol=lf
*.npz binary
**/sym-lib-table text eol=lf
**/fp-lib-table text eol=lf
*.step -text
*.stl binary
*.png binary
Expand All @@ -15,3 +26,45 @@
*.FCStd binary
*.mp4 binary
*.zip binary
*.gz binary
# Generated geometry is reviewed through its parametric source, drawings and CAD.
cad/stage2/*.step binary
# Preserve KiCad's exported SVG spacing; these files are reviewed generated output.
electronics/stage4/monitoring-cell/svg/*.svg whitespace=-blank-at-eol
# Preserve Matplotlib's generated SVG path spacing; reviewed figures bind exact bytes.
electronics/stage4/monitoring-study/*.svg whitespace=-blank-at-eol
# Native exports and reviewed scientific figures retain generated path spacing.
electronics/stage4/current-driver/svg/*.svg whitespace=-blank-at-eol
electronics/stage4/driver-study/*.svg whitespace=-blank-at-eol
# Reviewed observer freezes bind original bytes, including Windows JSON newlines.
experiments/stage3/observed-state-observer/requirements-lock.txt text eol=lf
experiments/stage3/observed-state-observer/frozen/** -text whitespace=cr-at-eol
# This separately approved replay also binds exact protocol/source/receipt bytes.
experiments/stage3/frozen-observer-pilot/** -text whitespace=cr-at-eol
# Historical report embeds the exact approved review bytes, including newlines.
provenance/stage3-closeout-review.json -text whitespace=cr-at-eol
# Matplotlib SVG spacing is generated and visually inspected.
# Preserve the reviewed scenario bytes bound by its review receipt.
experiments/stage3/conditional-concept/** -text whitespace=cr-at-eol
experiments/stage3/conditional-concept/*.svg whitespace=-blank-at-eol,cr-at-eol
# Target binary bytes, compiler-map spacing and upstream notices are preserved.
firmware/nrf5340/artifacts/*.elf binary
firmware/nrf5340/artifacts/*.bin binary
firmware/nrf5340/artifacts/ato.map text eol=lf whitespace=-blank-at-eol
firmware/nrf5340/licenses/* text eol=lf -whitespace
# New native exports retain their reviewed generated spacing and image bytes.
electronics/stage4/controller-carrier/svg/*.svg whitespace=-blank-at-eol
electronics/stage4/integrated-pcb/**/*.svg whitespace=-blank-at-eol
electronics/stage4/integrated-pcb/firmware-profile/artifacts/*.elf binary
electronics/stage4/integrated-pcb/firmware-profile/artifacts/*.bin binary
electronics/stage4/integrated-pcb/firmware-profile/artifacts/ato.map text eol=lf whitespace=-blank-at-eol
electronics/stage4/integrated-pcb/**/*.step binary
electronics/stage4/integrated-pcb/**/*.ses whitespace=-blank-at-eol
# Native Stage5 exchange derivatives are reviewed through CAD and drawings.
cad/stage5/**/*.step binary
cad/stage5/**/*.svg whitespace=-blank-at-eol
# Keep reviewed source-hash bindings byte-stable, including final blank lines.
cad/stage5/reference/extract_board_datums.py whitespace=-blank-at-eof
docs/stage5/future-package-design.md whitespace=-blank-at-eof
# Source-derived manuscript SVG path spacing is generated and visually reviewed.
manuscript/stage6/figures/*.svg whitespace=-blank-at-eol
21 changes: 21 additions & 0 deletions .github/workflows/verify-mechanics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Verify mechanical CAD package
on:
pull_request:
workflow_dispatch:

jobs:
mechanical-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Verify exact committed artifact bytes
run: python scripts/verify_manifest.py
- name: Replay mechanical source and native-receipt checks
run: python scripts/verify_stage5_mechanics.py
- name: Preserve the integrated electronics checkpoint
run: python scripts/verify_integrated_pcb.py
19 changes: 19 additions & 0 deletions .github/workflows/verify-pcb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Verify integrated PCB package
on:
pull_request:
workflow_dispatch:

jobs:
pcb-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Verify exact committed artifact bytes
run: python scripts/verify_manifest.py
- name: Replay independent PCB and source-preservation checks
run: python scripts/verify_integrated_pcb.py
29 changes: 29 additions & 0 deletions .github/workflows/verify-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Verify integrated digital release
on:
pull_request:
push:
tags: ['v2.*']
workflow_dispatch:

jobs:
integrated-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install document inspection dependency
run: python -m pip install pypdf==6.10.0 numpy==2.3.5
- name: Verify exact committed Git blobs
run: python scripts/verify_manifest.py
- name: Verify manuscript, release entries and preserved sources
run: python scripts/verify_stage6_release.py
- name: Reproduce both conditional paths through the production C core
run: python scripts/stage6/verify_digital_path.py
- name: Preserve integrated electronics checkpoint
run: python scripts/verify_integrated_pcb.py
- name: Preserve mechanical source and native inspection evidence
run: python scripts/verify_stage5_mechanics.py
123 changes: 120 additions & 3 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,66 @@
name: Verify digital studies
on: [push, pull_request, workflow_dispatch]
on:
push:
branches: [main]
pull_request:
workflow_dispatch:

env:
OPENBLAS_NUM_THREADS: '1'
OMP_NUM_THREADS: '1'

jobs:
verify:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- run: python -m pip install -r requirements.txt
- run: python -m pip install -r requirements-lock.txt
- run: python scripts/verify_manifest.py
- run: python scripts/verify_stage1_specification.py
- run: python scripts/run_architecture_budgets.py --check
- run: python scripts/verify_stage2_architecture.py
- run: python scripts/verify_stage3_foundation.py
- run: python scripts/verify_stage3_continuation.py
- run: python scripts/verify_stage3_revision.py
- run: python scripts/verify_frozen_pilot_portable.py --audit-only
- run: python experiments/stage3/conditional-concept/study.py --check
- run: python electronics/stage4/monitoring-cell/verify_monitoring_cell.py
- run: python electronics/stage4/monitoring-study/verify_study.py
- run: python electronics/stage4/current-driver/verify_current_driver.py
- run: python electronics/stage4/driver-study/verify_study.py
- run: python electronics/stage4/recording-front-end/verify_recording_front_end.py
- run: python electronics/stage4/recording-study/verify_input_network.py
- run: python electronics/stage4/recording-study/input_network_study.py
- run: python electronics/stage4/recording-study/timing_contract.py --check
- run: python electronics/stage4/contact-router/verify_contact_router.py
- run: python electronics/stage4/routing-study/route_contract.py --check
- run: python electronics/stage4/routing-study/verify_parasitics.py
- run: python electronics/stage4/routing-study/parasitic_study.py
- run: python electronics/stage4/supervision/verify_supervision.py
- run: python electronics/stage4/supervision-study/control_study.py --check
- run: python electronics/stage4/supervision-study/analog_study.py
- run: python electronics/stage4/supervision-study/verify_analog.py
- run: python electronics/stage4/supervision-study/verify_integration.py
- run: python electronics/stage4/power/verify_power.py
- run: python electronics/stage4/power-study/budget_study.py
- run: python electronics/stage4/power-study/verify_budget.py
- run: python electronics/stage4/power-study/sequence_study.py --check
- run: python electronics/stage4/power-study/verify_integration.py
- run: python electronics/stage4/monitoring-transport/verify_monitoring_transport.py
- run: python electronics/stage4/transport-study/transport_contract.py --check
- run: python electronics/stage4/transport-study/verify_transport.py
- run: python electronics/stage4/transport-study/input_study.py
- run: python electronics/stage4/transport-study/verify_input.py
- run: python electronics/stage4/transport-study/verify_integration.py
- run: python firmware/nrf5340/tests/check_runtime.py
- run: python scripts/verify_nrf5340.py
- run: python scripts/verify_integrated_pcb.py
- run: python scripts/run_studies.py
- run: python scripts/build_firmware.py
- run: python scripts/run_adapter.py
Expand All @@ -22,3 +72,70 @@ jobs:
with:
name: synthetic-study-results
path: results/

reproduce:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- study: foundation
commands: |
python scripts/run_stage3_studies.py --check --jobs 2
python scripts/stage3_electrical_sweep.py --check results/stage3/electrical-sweep.json
python scripts/stage3_pressure_convergence_probe.py --check results/stage3/pressure-convergence-probe.json
- study: motor-numerics
commands: python scripts/stage3_motor_convergence.py --check results/stage3/numerical/motor-convergence.json.gz
- study: pressure-numerics
commands: python scripts/stage3_pressure_convergence.py --check results/stage3/numerical/pressure-convergence.json.gz --summary-check results/stage3/numerical/pressure-convergence-summary.json --jobs 2
- study: information
commands: python scripts/stage3_information_comparison.py --check --jobs 2
- study: response-domain
commands: python scripts/stage3_response_validation.py --check results/stage3/response-validation/response-domain-raw.json.gz --summary-check results/stage3/response-validation/response-domain-summary.json --jobs 2
- study: acquisition-cue-expert
commands: |
python scripts/stage3_acquisition_qualification.py --check results/stage3/numerical/acquisition-qualification.json.gz
python scripts/stage3_cue_policy_study.py --check results/stage3/cue-policy/raw.json.gz
python scripts/stage3_expert_validation.py --check
- study: teacher-revision
commands: |
python scripts/stage3_teacher_library_study.py --check
python scripts/stage3_resolved_teacher_study.py --check
python scripts/stage3_delivery_requirements.py --check
- study: source-revision
commands: python scripts/stage3_source_sensitivity.py --check results/stage3/source-sensitivity/raw.json.gz --summary-check results/stage3/source-sensitivity/summary.json
- study: prediction-revision
commands: python scripts/stage3_assisted_prediction_study.py --check results/stage3/assisted-prediction/raw.json.gz
- study: dynamic-response-revision
commands: |
python scripts/stage3_dynamic_response_study.py --check
python scripts/stage3_sparse_baseline_study.py --check results/stage3/sparse-baseline/raw.json.gz
- study: isolated-pilot
commands: python scripts/stage3_isolated_pilot_study.py --check results/stage3/isolated-pilot/raw.json.gz
- study: observed-state-observer
commands: python experiments/stage3/observed-state-observer/verify_study.py --reproduce
- study: frozen-observer-pilot
commands: python scripts/verify_frozen_pilot_portable.py --reproduce
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: ${{ (matrix.study == 'observed-state-observer' || matrix.study == 'frozen-observer-pilot') && '3.12.14' || '3.12' }}
cache: pip
- run: python -m pip install -r requirements-lock.txt
- run: ${{ matrix.commands }}

verify:
if: always()
needs: [audit, reproduce]
runs-on: ubuntu-latest
steps:
- name: Require artifact audit and every study reproduction
env:
AUDIT_RESULT: ${{ needs.audit.result }}
REPRODUCTION_RESULT: ${{ needs.reproduce.result }}
run: |
test "$AUDIT_RESULT" = success
test "$REPRODUCTION_RESULT" = success
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@ __pycache__/
*.kicad_prl
*.kicad_sch-bak
*.kicad_pcb-bak
~*.lck
*-backups/
tmp/
build/
CONTRACT.md
# Losslessly archived populated STEP assemblies exceed GitHub's file limit.
cad/stage5/reference/ATO_reference_assembly.step
cad/stage5/reference/ATO_reference_exploded.step
cad/stage5/reference/extracted/
28 changes: 20 additions & 8 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,15 +1,27 @@
cff-version: 1.2.0
message: "Please cite this digital engineering project and its primary references separately."
title: "Project ATO: a digital engineering study of invasive spinal interfaces"
message: "Please cite this AI-assisted digital engineering project and its primary scientific references separately."
title: "Project ATO: integrated SCCI research and digital engineering"
type: software
authors:
- family-names: Varma
given-names: Pratham
version: 1.0.0
date-released: 2026-10-07
version: 2.0.0
date-released: 2026-10-16
repository-code: "https://github.com/pratham-cloud-ctrl/Project-ATO"
url: "https://github.com/pratham-cloud-ctrl/Project-ATO/releases/tag/v2.0.0"
abstract: >-
An AI-assisted, entirely digital engineering proof of concept linking spinal
interface literature, synthetic motor-learning and physiological-control
studies, reference electronics, parametric CAD, and reproducible results.
Simulations do not establish biological or clinical effectiveness.
An AI-assisted, entirely digital project connecting conditional spinal-interface
mechanisms for expert-informed retained motor learning and selected physiological
feedback to computational studies, executed production control code, native
electronics, target-linked firmware and mechanical CAD. No original biological
experiment, physical execution or clinical effectiveness is claimed.
license: LicenseRef-Proprietary
preferred-citation:
type: report
title: "Project ATO: a conditional spinal cord-computer interface for expert-informed practice and physiological feedback"
authors:
- family-names: Varma
given-names: Pratham
version: 2.0.0
date-released: 2026-10-16
url: "https://github.com/pratham-cloud-ctrl/Project-ATO/blob/v2.0.0/output/pdf/Project_ATO_Integrated_Manuscript.pdf"
Loading
Loading