Skip to content

feat: establish PyAutoDNA stack management and dashboard #509

Closed

Description

@Jammy2211

Overview

Create PyAutoDNA, the software-stack identity and compatibility organ, with a standard dashboard integrated into PyAutoScientist. Make source, wheel, dependency, Python, backend and environment differences explicit and support evidence-led upgrade campaigns across local, RAL and CI.

The human approved the three-phase research recommendation, required the shared dashboard design, and selected the name with “DNA it is! go”. This issue incubates the new organ before its repository exists.

Plan

  • Establish environment inventories and reproducible stack specifications, with source-versus-wheel identity and meaningful comparisons.
  • Render the standard dashboard and Scientist feed using Brain-owned components, including collapsible sections and standard check-in/refresh controls.
  • Record support rationale and named Python/platform profiles; expose declaration, resolution and CI override differences.
  • Track upgrade proposals, validation evidence, promotion, adoption and rollback without altering environments on refresh.
  • Verify the inventory contract, comparison/policy behavior, public projection, campaign gates and shared dashboard integration.

Tier: judge — merge mode: human /prm.

Detailed implementation plan and branch survey

Primary tracking repository: PyAutoBrain (new-organ incubation).
Source changes: new PyAutoDNA, PyAutoBrain, PyAutoMind body map, PyAutoScientist. Heart/Hands/Nerves are existing evidence sources and authority boundaries; no changes to their scientific/runtime APIs are authorized by this bootstrap.

Repository Branch State
PyAutoDNA absent new repository required
PyAutoBrain main clean; claimed by board-one-click-update
PyAutoMind main clean before this task prompt
PyAutoScientist main clean; two commits behind recorded upstream at survey

Suggested branch: feature/pyautodna-stack-management.
Proposed worktree: /home/jammy/Code/PyAutoLabs/.worktrees/pyautodna-stack-management (not yet created).

The conflict guard confirms Brain is claimed by board-one-click-update on feature/board-one-click-update. Narrow coordinated changes were requested from the human; no response yet. Do not change Brain or claim the repo before that answer. Unregistered historical Brain/Mind worktrees were reported and preserved.

Implementation paths, validation and constraints are included in the original prompt below. Start with the inventory/dashboard phase, then policy/profiles, then campaigns/adoption; retain the accepted full scope in this task. Existing package requirements remain authoritative. Do not upgrade local/RAL environments or enable recurring jobs as a side effect.

Heart entry: STALE (development may proceed); release STALE, monitoring RED 37/100 with 154 unresolved findings. Re-read authoritative readiness at ship; this entry is not a release clearance.

Original Prompt

Starting prompt and accepted design

PyAutoDNA: software stacks and compatibility

Type: feature
Target: pyautodna
Difficulty: large
Priority: high
Consequence: judge
Autonomy: human-required

Original request (verbatim)

We had to recently do a JAX versioning investigation where CI broke against local or something (look it up October 4 2026).

I now realise we should have software and project stack versioning properly, as part of the PyAutoScientist dashboard.
This could go under PyAutoNerves, its similar to config but would be probably the main high level thing it now
manages. However, it does feels a bit higher level and distinct from Nerves, so could maybe warrant its own organ?
Do some research and give me your recommendaiton.

I am picturing a world where this ensures I am frequently on my local stack on the latest version of libraries
and that RAL is too. Furthermore, it should give me a good overview of what version were on, whats supported,
sometimes maybe why we have certiaon version supported and the general tools required to do update campgins and check
dependencies and make sure we are not supporting unsupported. OH and also remember that CI oten has its own
versions to get stuff through, and Python 3.12 vs 3.13 is also a thing. So yeah, high level dashboard management
of the entire versioning stack.

This should also coordiunate the different versions we have, we have like the latest but that doesnt correspond
to whats in the source code? I'm still not sure about that design but the dashboard should make it more manageable.

Subsequent user instructions (verbatim)

This sounds excellent, make sure the format and structure follows the now standard design implemented throughout all dashboards. Thoughts on organ name?

What about DNA? I like both that and Skeleton

DNA it is! go

Accepted design and authorization

User approved the research recommendation and named the new organ PyAutoDNA.
Implement the three proposed phases: inventory/dashboard; support policy/shared
profiles; upgrade campaigns/adoption. This is ordinary development, not --auto;
merge remains human /prm. Existing environments are observed, not upgraded as a
side effect of collection or dashboard refresh. No scheduler is armed by this run.

DNA owns environment registry, immutable stack specifications, support rationale,
inventory receipts, campaign/adoption history and board. @PyAutoBrain coordinates
upgrades; @PyAutoHeart retains validation/readiness authority; @PyAutoHands retains
release provenance/execution; @PyAutoNerves retains runtime compatibility/config;
@PyAutoMind owns implementation tasks and identity; @PyAutoScientist is the entry.
Package pyprojects remain authoritative requirements, not manually copied policy.

Distinguish upstream available, declared compatible, tested, recommended and
observed. Identify source checkouts by SHA/dirty state/import path, distributions
by metadata/origin, releases by wheel/source mapping and workspaces by API floor.
Never compare frozen source version stamps to wheels as an equality gate.
Capture Python/platform/backend, packages, git identities, relevant flags and
GPU runtime metadata; remote/missing evidence is unknown, never green.

Implementation plan

  1. New PyAutoDNA repository: dna/{schema,inventory,policy,campaigns,board,cli}.py,
    schemas/, environments.yaml, stacks/, decisions/, campaigns/, docs/, tests/;
    CLI supports collect, compare, audit, campaign inspection and board rendering.
    Inventory is captured in the actual interpreter after installation; validate
    input schemas, timestamps and stable identities. Public output excludes local
    paths/host/user data; private raw receipts stay outside published artifacts.
  2. Reuse Brain board/_theme.py hero/navigation/orchestration_panel/JS and validate
    state.json with board/_state.py. Responsive environment, compatibility,
    decisions and campaign views; standard copy-preview/work-links/refresh footer.
    Add CI and Pages workflow, tests for degraded evidence, escaping, comparisons,
    constraints, provenance, campaign transition gates and public projections.
  3. Register DNA in Mind repos.yaml; update Brain ORGANISM.md, config/policy.yaml,
    shared theme organ/heading/navigation definitions and Scientist integration.
    Generate only claimed consumers using repos_sync; keep remaining adoption
    explicit. Brain is currently claimed by board-one-click-update: permission to
    coordinate requested; do not edit overlapping repository pending response.
  4. Policy records link October 4 JAX incident and existing floors-not-stamps
    decision; preserve reproduced versus source-inferred exclusions and partial
    test coverage. Named profiles separate Python 3.12/3.13 and CPU/CUDA; no
    invented current versions or certifications. Audit resolved installs against
    repository declarations and recorded baseline; report CI overrides/rationale.
  5. Campaigns record target stack, linked Heart validation, environment adoption,
    retained rollback stack, owner and review date. Produce reviewable upgrade
    proposals; promotion needs matching successful evidence and explicit action.
    Existing scientific runs retain recorded environments. Document local/RAL/CI
    collection and adoption procedure and proposed cadence without enabling cron.

Evidence and validation

Historical evidence: complete/2026/10/jax-lapack-compatibility-repair.md;
complete/2026/10/restore-dashboard-green.md; complete/2026/08/release-version-sync-back-to-main.md.
Shared standards: Brain docs/standards.md and board-{sizing,navigation,orchestration}.md.
Run focused and full DNA tests, relevant shared theme/Scientist integration tests,
schema/feed validation, real local inventory and comparison, static HTML and
browser interaction checks where available. Never substitute fixtures for live
RAL/CI observations; label uncollected surfaces. Obtain Heart verdict at ship.

Suggested branch: feature/pyautodna-stack-management
Tier: judge — merge mode: human /prm

Activity

  1. Jammy2211 commented on Oct 8, 2026

    @Jammy2211
    ContributorAuthor

    Implementation shipped for review under the ship-library workflow; human acknowledgement “yes proceed” permits the recorded Heart YELLOW85 development gate.

    PRs in merge order:

    Validation: DNA 18, Brain 1251, Mind 696 and Scientist 14 tests passed; 12 browser cases passed. Live collection/audit/render/feed smoke passed. Core and board received independent CLEAN review after fixes. No scientific API or workspace migration is required.

    Actual observations cover local and RAL login only (2/7 surfaces), with five declaration mismatches, including JAX/JAXlib 0.10.2 excluded by current declarations. CPU/GPU compute-node and CI evidence remains unknown. No upgrades were performed.

    Acknowledged Heart warning: “manifest drift: workspace checkouts (manifest ↔ disk) — 1 mismatch(es) vs PyAutoMind/repos.yaml” (unregistered COWLS_COSMOS_Web_Lens_Survey). Also reports “release validation incomplete: no rehearsal for current source”. No release/merge authorization implied.

    Human /prm remains required. DNA CI depends on Brain main acquiring the shared theme. Pages is not yet live; publication/configuration and remaining generated map propagation belong to merge close-out. Task remains active until all consumers land.

  2. Jammy2211 commented on Oct 8, 2026

    @Jammy2211
    ContributorAuthor

    pyautodna-stack-management

    Implemented DNA software stack specifications, real environment inventories, compatibility audits, support rationale, campaign evidence gates and standard dashboard integration. Source commits, installed versions, upstream releases and supplied validation remain distinct. No environment upgrades or compute submissions performed.

    All four PRs merged in dependency order under human /prm authorization. DNA initial CI failed because Brain main lacked its new heading; after merging Brain, both push and pull-request runs passed both Python 3.12 and 3.13 legs. Brain matrix/docs and Scientist tests passed; Mind privacy/firewall passed, with conditional drift job skipped. Local validation: 1979 tests and 12 browser cases passed.

    Two of seven environment surfaces observed: local and RAL login. Five declaration mismatches, including installed JAX/JAXlib 0.10.2; compute-node and CI inventory evidence remains unknown. No implied stack certification or automatic upgrade cadence.

    Heart YELLOW85 warning acknowledged before shipping; no release authorization. Worktree retained pending user's ignored-evidence cleanup choice. Pages publication and broader generated-map propagation remain operational follow-up, not a claim that every board is already updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions