nigig-org/crates/apps/nigig-site
Arena Agent 2510dd6c17
Some checks failed
cad / cad-truth-gates (push) Has been cancelled
cad / cad-core-checks (push) Has been cancelled
cad / cad-consumers (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
nigig-map / test (push) Has been cancelled
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
nigig-site / Release capability gate (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
docs(nigig-site): update SITE-12 for the de-vendoring in f9c1235
The previous row said xitca-web was vendored in this repository (519 files) and
attributed the workspace-member blocker to xitca-web/web/Cargo.toml inheriting
rust-version and lints from the wrong workspace root. f9c1235 dropped the
vendored xitca-web for crates.io `xitca-web = "0.8"`, so both statements were
already stale when written.

Current, verified state:
- nigig-lite/crates/common (package nigig-common) is present; it now also uses
  crates.io xitca-web.
- Adding `nimanyatta` to the workspace still fails `cargo metadata` with exit
  101, but the cause is different: "multiple workspace roots found in the same
  workspace: nimanyatta, nigig-lite/crates/common, nigig-org". Both sub-crates
  carry their own [workspace] table. The fix is to delete those tables or add
  both paths to the root exclude list — but nigig-common's table is documented
  as deliberate ("keeps it independent from any parent workspace"), so this is
  a decision for the server team rather than a mechanical change.

Verified: cargo test -p nigig-site-core = 228 passed / 1 ignored;
cargo test -p nimanyatta-protocol = 14 passed; clippy -D warnings clean on
both; cargo fmt --check clean; table renders (59 SITE rows, uniform columns).

Note on an intermediate false signal: a test run reported 196 passed / 32
failed. All 32 failures were `Os { code: 28, StorageFull }` in
repository::tests, caused by a 906 MB build directory I had left in the 993 MB
/tmp tmpfs while checking whether the server resolves. After clearing it, the
suite is 228/228 again. No code was involved.
2026-09-26 18:20:07 +00:00
..
src feat(nigig-site): compile and test the hardening core; add SITE-20..28 domain 2026-09-26 10:50:33 +00: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 revert(nigig-site): ce9e12b was wrong — the HTTP wire field is body, not text 2026-09-26 17:39:20 +00: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 docs(nigig-site): update SITE-12 for the de-vendoring in f9c1235 2026-09-26 18:20:07 +00: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 harden SITE-02 repository and native vault contracts 2026-09-13 06:51:39 +00:00
SITE_02_SECURITY_REVIEW.md fix(nigig-site): harden macOS native evidence 2026-09-14 06:31:57 +00: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