nigig-org/crates/apps/nigig-site
andodeki 61f39b2424
Some checks failed
nigig-site / Owned paths and honest test contracts (push) Has been cancelled
nigig-site / Cargo check-all-targets (push) Has been cancelled
nigig-site / Cargo clippy-site-owned (push) Has been cancelled
nigig-site / Cargo contained-media-export-fixtures (push) Has been cancelled
nigig-site / Cargo containment-storage-crypto (push) Has been cancelled
nigig-site / Cargo core-clippy (push) Has been cancelled
nigig-site / Cargo core-contracts (push) Has been cancelled
nigig-site / Cargo integration-non-live (push) Has been cancelled
nigig-site / Cargo production-dependency-containment (push) Has been cancelled
nigig-site / Cargo site02-crypto (push) Has been cancelled
nigig-site / Cargo site02-repository (push) Has been cancelled
nigig-site / Cargo site02-store (push) Has been cancelled
nigig-site / Cargo unit (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (macos-latest) (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (ubuntu-latest) (push) Has been cancelled
nigig-site / SITE-02 native provider/filesystem (windows-latest) (push) Has been cancelled
nigig-site / SITE-02 desktop runtime and normal shutdown (push) Has been cancelled
nigig-site / SITE-02 migration, recovery, and fault corpus (push) Has been cancelled
nigig-site / Media limits (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Has been cancelled
nigig-site / Security and supply-chain baseline (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
nigig-site / Release capability gate (push) Has been cancelled
chore(site-02): Phase 0 freeze record, reviewer assignment scaffolding, governance state
- Pin RC hash 0480b2d8e8 (tag site-02-rc1) as the
  only commit SITE-02 Phase 1-5 evidence may cite.
- Record SHA-256 digests of the security-relevant files at the frozen hash and
  the frozen tree hash, so later phases can re-verify before citing.
- Record reviewer/owner assignment state: all 11 human roles PENDING ASSIGNMENT;
  AI identities and AI signatures are invalid for these roles by construction.
- Record applied governance: fail-closed Actions variables
  (NIGIG_SITE_02_SECURITY_APPROVED=false, NIGIG_SITE_02_APPROVED_COMMIT=sentinel
  that never matches a SHA), exact-commit gate verified at
  .forgejo/workflows/nigig-site.yml:936-950, exact-hash CI dispatch baseline.
- Stage branch/tag protection payloads in tools/site02/phase0/ (application
  requires repo-admin permission the scoped token lacks).
- Keep every gate tripwire intact: header UNASSIGNED markers and NOT APPROVED /
  PROPOSED decisions unchanged; the release gate still fails closed.

Phase-0-freeze: 0480b2d8e8
Recorded-by: AI agent (Arena.ai Agent Mode) under repo-owner authorization,
scoped API token, 2026-09-27
2026-09-27 18:49:02 +00:00
..
src wip(daily-reports): follow-up local updates for Phase 0 freeze (approvals/procurement screens, programme, pdf recording) 2026-09-27 17:02:54 +03:00
tests revert(nigig-site): ce9e12b was wrong — the HTTP wire field is body, not text 2026-09-26 17:39:20 +00:00
tools fix(nigig-site): harden macOS native evidence 2026-09-14 06:31:57 +00:00
Cargo.toml wip(daily-reports): preserve local site/report/worker, ocr and lite-common updates for Phase 0 freeze 2026-09-27 16:25:50 +03:00
construction-site-app-scope.md Initial project: app scope + Makepad skeleton 2026-09-26 09:11:09 +03:00
construction-site-app-scope2.md Initial project: app scope + Makepad skeleton 2026-09-26 09:11:09 +03:00
EXECUTION_PLAN.md wip(daily-reports): preserve local site/report/worker, ocr and lite-common updates for Phase 0 freeze 2026-09-27 16:25:50 +03:00
NIGIG_SITE_ASSESSMENT_AND_PLAN.md docs+test(site,pdf): assessment update + font_info port cases 2026-09-12 08:55:20 +03:00
README.md chore: sync full working tree to gitdab 2026-09-12 07:15:24 +03:00
SITE_02_KEY_LIFECYCLE_DESIGN.md chore(site-02): Phase 0 freeze record, reviewer assignment scaffolding, governance state 2026-09-27 18:49:02 +00:00
SITE_02_PHASE_0_FREEZE.md chore(site-02): Phase 0 freeze record, reviewer assignment scaffolding, governance state 2026-09-27 18:49:02 +00:00
SITE_02_SECURITY_REVIEW.md chore(site-02): Phase 0 freeze record, reviewer assignment scaffolding, governance state 2026-09-27 18:49:02 +00:00
SITE_31_SERVER_ADR.md wip(daily-reports): preserve local site/report/worker, ocr and lite-common updates for Phase 0 freeze 2026-09-27 16:25:50 +03:00

nigig-site — construction site field app

Makepad app at crates/apps/nigig-site (cargo run -p nigig-site).

Phases covered

Phase Items Crates / files
1 Daily & Monthly Report 1 photo/gif capture, 2 AI-refined rich text (bold/italic/underline/list), 3 PDF + Word export, 4 collaborative + master approve, 5 multi-site compile, 6 EOD -1h reminder, 7 monthly rollup, 8 72h pre-meeting reminder src/domain/daily_report.rs, src/report_pdf.rs, src/domain/reminders.rs, src/site_frame/screens/report_editor.rs, src/site_frame/screens/reports.rs, nigig-uikit::CameraWidget, nigig-pdf-*, robius-location
2 Workers 9 ID scan + department, 10 daily table by workstation src/domain/workers.rs, src/site_frame/screens/workers.rs
3 Chat 11 project-group chat on nimanyatta, shared with nigig-chat src/nimanyatta_client.rs, src/site_frame/screens/chat.rs, crates/nimanyatta/ stub
4 Approvals & schedule 12 template by site nature, 13 task/subtask, 14 timelines & qty, 15 inspection IDs src/domain/approvals.rs, src/site_frame/screens/approvals.rs
5 Procurement 16 qty + sourcing, 17 directory src/domain/procurement.rs, src/site_frame/screens/procurement.rs
6 Meetings 18 schedule/reschedule, 19 directory, 20 live listen, 21 minutes, 22 share src/domain/meetings.rs, src/site_frame/screens/meetings.rs

Chat — nimanyatta shared rooms

  • Canonical server: ../nimanyatta (broadcast_server, b_server feature, xitca-web).
  • NIMANYATTA_BASE_URL env overrides default http://127.0.0.1:8080.
  • Site.chat_room_id stores the nimanyatta room_id (POST /api/v1/rooms/create). The same room is visible in nigig-chat via POST /api/v1/sync.
  • Vendoring plan: copy ../nimanyatta into crates/nimanyatta/ (see crates/nimanyatta/README.md), then replace src/nimanyatta_client.rs shims with nigig_common typed client.

PDF / Word

src/report_pdf.rs mirrors nigig-core::finance_report: base-14 Helvetica, DocumentCreator + ContentWriter, add_page per sheet, finish() → bytes. Host-testable via nigig-pdf-document::PdfDocument::parse.

Word is an HTML stub (build_daily_report_word_html) that Word opens natively; swap with docx-rs later.

Camera & location

Uses nigig-uikit::CameraWidget (frame buffer, aspect bars, location overlay) and nigig_core::location / robius-location — same stack as the receipt camera.

Running

cargo run -p nigig-site
# with nimanyatta server alongside (sibling checkout):
cargo run -p nimanyatta --bin broadcast_server --features b_server  # in ../nimanyatta
NIMANYATTA_BASE_URL=http://127.0.0.1:8080 cargo run -p nigig-site