Commit Graph

48 Commits

Author SHA1 Message Date
7b70b7edc6 adapter updates 2026-09-16 09:13:47 -03:00
74e246e67a dataconvert updates 2026-09-16 09:07:07 -03:00
e05f8f1fca dataconvert updates 2026-09-16 08:57:43 -03:00
b102ab8de7 Merge branch 'docgen-graphgen' 2026-09-16 08:20:35 -03:00
2f3e9c2634 dataconvert: spreadsheets to SQL seeds, layouts from config, row cap, SCHEMA.md
Converts CSV, xlsx/xls/ods, directories, ZIPs and globs into one INSERT
file per table. Producer-specific layouts (header/data rows found by a
marker cell) and sheet naming live in a gitignored dataconvert.json, with
dataconvert-example.json as the template. --max-rows samples each table
and SCHEMA.md records columns, types, row counts and full sizes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 08:23:38 -03:00
86d051da48 add project, change cli file names, use config 2026-09-16 08:17:29 -03:00
7242b09e3a distill update 2026-09-16 05:27:53 -03:00
aba696df79 feature matching for clean extraction 2026-09-14 16:00:27 -03:00
a29e0708e8 new conventions 2026-09-14 06:13:22 -03:00
37c4d588ea Merge branch 'main' into docgen-graphgen 2026-09-13 21:41:29 -03:00
160ee31b8c docgen: drop the superseded first pass, port the style harvester
The IR supersedes both intermediate designs (requirements D6, D7):
station/tools/docgen and the graph model that briefly lived in graphgen.
Shipping them beside atlas2/docgen would mean two graph models, which is the
thing the architecture argues against.

Carried across rather than lost:
  - style/extract.py and tokens.py, the offline theme harvester (R31). Rewritten
    to emit a *theme* — a slot-to-hex binding — rather than a whole style file,
    since what harvesting recovers is which colour a slot should be, not what a
    kind should look like.
  - graphgen/README.md, rewritten for what graphgen actually is now: the
    schema explorer. It fixes the blank station-index entry at run.py:304.

Two bugs found while doing it:
  - Canvas and ink are the two lightness extremes, not the two most common
    values. In a Graphviz SVG every label carries a fill, so the ink outnumbers
    the canvas 87 to 43 and the old rule produced a theme whose text was
    invisible against its own background.
  - A name defined in both branches of an if/else produced a duplicate id, which
    failed validation on docgen's own source. Disambiguated by line.
2026-09-13 21:41:29 -03:00
358b98f826 site emitter 2026-09-12 07:08:00 -03:00
7cb892ccfe add cases for code, dbs, and outline notebook generation 2026-09-12 06:50:05 -03:00
542d704da4 docgen iter 2 2026-09-12 06:42:49 -03:00
49a9f8ee57 sanitized rig 2026-09-12 02:44:40 -03:00
966f8fc821 attemp to develop rig in spr without an actual use case 2026-08-26 07:27:12 -03:00
a65c92257d Stop build.py sweeping secrets and bytecode into gen/
gen/<room>/ is the docker build context and soleprint/Dockerfile is `COPY . .`,
so anything reaching gen/ reaches an image layer — and registry.mcrn.ar is
public-read. station/tools/tester/.env has been gitignored since the last
incident, but .gitignore does not bind shutil: copy_path() called
shutil.copytree() with no ignore=, so the key was copied into every built room.
Verified extractable from soleprint_localtest-soleprint:latest (built 8 days
ago) at /app/station/tools/tester/.env.

ctrl/deploy.sh's --exclude='.env' is why this looked handled; it only covers the
rsync path, not the build-and-push path.

Two layers now:
  - copy_path()/merge_into() filter .env, __pycache__, *.pyc, .git, node_modules
    and virtualenvs out of bulk directory copies. Single-file copies named by a
    caller are untouched, so cfg/<room>/.env.example still ships.
  - soleprint/.dockerignore repeats the rule at the docker boundary and is
    copied into the context beside the Dockerfile. Follows the convention
    soleprint/atlas/.dockerignore already set (.env, .env.*, !.env.example).

Runtime is unaffected: no Dockerfile COPYs a .env, and the room compose files
supply it with `env_file: - .env`, read from the host at run time.

The key itself still needs rotating — it remains in git history.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 02:59:26 -03:00
2d9bc9289c updates 33.2 112 2026-08-11 07:30:27 -03:00
910927993e updates 33.1 139 2026-08-10 09:19:19 -03:00
9a6337e493 updates 33.1 84 2026-08-10 05:36:32 -03:00
ef63b02554 update 33.1 50 2026-08-10 03:23:30 -03:00
33f0559268 updates 33.1 23 2026-08-10 01:35:13 -03:00
dfb1991ae3 updates 33.1 8 2026-08-10 00:32:47 -03:00
5f9cac1947 add fixture-invoicing example, sample-room wrap, kind cluster support
- examples/fixture-invoicing/: FastAPI + Vue + Postgres demo (4-entity invoice fixture)
- cfg/sample/: wraps the fixture (managed.repos points at examples/)
- ctrl/kind-{up,down,status}.sh + per-room k8s render in soleprint/ctrl/k8s/
- build.py: relative repo paths, resilient rmtree, optional k8s render hook
- cfg/.gitignore: stop ignoring sample/ and standalone/ template rooms

Manifests render cleanly but kind cluster has not been run end-to-end yet.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 05:30:52 -03:00
ec3391fe72 bootstrap datagen and graphgen 2026-04-16 18:59:30 -03:00
3e625c2a27 tester fully decoupled 2026-04-12 05:50:08 -03:00
85a856b7ac updated modelgen, decoupling tester 2026-04-12 03:07:25 -03:00
af06309dad ai vein 2026-02-23 04:20:22 -03:00
a1141759a5 modelgen update 2026-02-09 17:55:07 -03:00
0d2862c633 modelgen completed 2026-02-04 09:04:13 -03:00
buenosairesam
9eb720f90b fix: jinja2 template syntax in artery index 2026-01-27 09:38:56 -03:00
buenosairesam
69121eb0c1 fix: pass rooms and depots to artery template to fix 500 error 2026-01-27 09:24:05 -03:00
buenosairesam
88c286029c Add /spr/ route for soleprint index, fix sidebar system labels 2026-01-27 09:24:05 -03:00
buenosairesam
5603979d5c Add session cookie for browser-isolated OAuth sessions 2026-01-27 09:24:05 -03:00
buenosairesam
2babd47835 homogeineze sidebar conf 2026-01-27 09:24:05 -03:00
buenosairesam
e1f81889fc tuning the sidebar 2026-01-27 09:24:05 -03:00
buenosairesam
fecb978a5f updated sidebar 2026-01-27 09:24:05 -03:00
buenosairesam
c4e702eae3 refactor: unified google vein, prefixed module loading, cfg separation
- Unified google vein with OAuth + Sheets API
- Prefixed vein module loading (vein_google) to avoid pip package shadowing
- Preload pip packages before vein loading
- Added common/auth framework
- Rebranded sbwrapper from Pawprint to Soleprint
- Removed cfg/ from history (now separate repo)
- Keep cfg/standalone/ as sample configuration
- gitignore cfg/amar/ and cfg/dlt/ (private configs)
2026-01-27 09:24:05 -03:00
buenosairesam
6e18324a43 generate outside generated
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-01-21 23:26:47 -03:00
buenosairesam
d7d3c90152 more decoupling 2026-01-20 09:53:11 -03:00
buenosairesam
a9d1e135cb more restructuring 2026-01-20 06:01:27 -03:00
buenosairesam
e4052374db major restructure 2026-01-20 05:31:26 -03:00
buenosairesam
27b32deba4 Use dynamic config for system names and components
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Station: Ward -> Station, Cabinet -> Desk, Table -> Desk
- Atlas: Album -> Atlas
- All templates now read from config.json for titles/taglines
- Added shunts.json and plexuses.json data files
- run.py passes system and components to all templates
2026-01-02 23:52:43 -03:00
buenosairesam
c4ec112607 Fix trailing slash routes for artery/atlas/station
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-01-02 23:45:18 -03:00
buenosairesam
9319d0ade6 lastest changes 2025-12-31 12:44:30 -03:00
buenosairesam
21b8eab3cb spr standalone 2025-12-31 08:42:03 -03:00
buenosairesam
9e9e0a5a25 1.1 224 changes 2025-12-29 14:58:20 -03:00
buenosairesam
c5546cf7fc 1.1 changes 2025-12-29 14:17:53 -03:00