-
Notifications
You must be signed in to change notification settings - Fork 0
report
Every run — success, failure, blocked, or nothing-changed — produces two audit records: a human-readable HTML report and a machine-readable JSONL journal. Neither is optional (Rule 2).
flowchart LR
J[journal run-start] --> E[light env check] --> R[run pipeline] --> RP[REPORT<br/>atomic write + archive] --> SH[SHOW]
SH --> J2[journal run-end]
The SHOW rule decides presentation:
| Context | Behavior |
|---|---|
| Interactive run | Opens the report in the browser |
| Background / scheduled run | Windows toast |
| Shutdown quick-push | Never opens the report |
Generated after every run to:
<base>\urgithub\.urgithub\reports\report.html
<base>\urgithub\.urgithub\reports\archive\
Older reports are archived and kept per report.archive_keep_days (default 90 days). Open it with python urgithub.py --report or let it auto-open (report.auto_open, default on).
| Section | Records |
|---|---|
| Header & run summary | Run time · trigger · duration · run ID · outcome |
| 7 stat cards | Pushed · Cloned · Renamed · Initialized · Removed · Failed · Events, each with its own accent color |
| Activity timeline | Icon-chip rows with mono timestamps, repo names, details, and ↗ links to GitHub |
| Per-repository details | Action badge, before → after SHAs, A/M/D/R changed-file chips, "Open on GitHub" |
| All repositories | Live re-scan: registry status, branch, CLEAN/DIRTY/UNINIT |
| Files & last commit | Per-file "committed at" dates, newest first, uncommitted for untracked (up to report.files_max, default 500) |
| Security & size | Secret findings, oversized files, warnings — only when findings exist |
| Environment drift | Changes detected in the environment snapshot — only when findings exist |
The report is an execution record, not only a success page — failures and blocked operations are reported as clearly as successes.
When synchronization is blocked, open report.html and check for:
- divergence
- detected secrets
- invalid repository state
- missing remote
- authorization failure
- repository access failure
- unsupported state
An append-only, machine-readable event log (database\journal.jsonl) stored as one JSON object per line:
{"ts":"...","op":"scan","repo":"...","trigger":"startup","success":true,"sha_before":"...","sha_after":"...","blocked":false}
{"ts":"...","op":"push","repo":"...","trigger":"every_hours","success":true,"sha_before":"...","sha_after":"..."}
{"ts":"...","op":"sync","repo":"...","trigger":"file_change","success":false,"blocked":true,"reason":"secrets"}flowchart LR
E1[event] --> E2[event] --> E3[event] --> E4[event]
Each event represents one operation or state transition and supports analysis of:
- when the operation occurred
- which repository was involved
- what trigger initiated it
- whether the operation succeeded
- what commit identifiers were involved
- whether the operation was blocked
Do not manually edit runtime journal files unless you understand the consequences — they are append-only audit records.
| Setting | Default | Purpose |
|---|---|---|
report.auto_open |
true |
Open report.html in the browser after a run |
report.archive |
true |
Archive old reports |
report.archive_keep_days |
90 |
Retention for archived reports |
report.show_files / files_max
|
true / 500
|
Show file lists, capped at 500 per repo |
Next: Troubleshooting — common problems and their fixes.
Discover · Scan · Synchronize · Commit · Push · Verify · Report — with safety gates and an HTML activity report after every run.
| About | Quick links | Status |
|---|---|---|
| Home · Installation · Architecture | Repositories & Sync · Security · Report & Journal | Configuration · Automation · Operations & Updating |
| FAQ · Troubleshooting · Wiki home | Repository · Issues · Releases |
|
URGithub never runs git reset, --force, rebase, or clean — anything unsafe is blocked and reported, never silently destroyed.
MIT License · © 2026 Ganesh Bakkera · learnerforge/push-to-github
Getting started
- Home — overview, pipeline, quick start
- Installation — requirements, setup wizard, first run
Concepts
- Architecture — one engine, every trigger
- Repositories & Sync — discovery, rename, quarantine, block codes
- Security — safety model, secret detection, blocked operations
-
Report & Journal —
report.htmland the JSONL journal
Operation
-
Configuration — every config key,
--configCLI - Automation — triggers and scheduling per OS
- Operations & Updating — production setup, upgrades, maintenance
Help
- FAQ — common questions
- Troubleshooting — symptoms and fixes
Quick reference
-
--setup· one-time registration wizard -
--scan· discover repositories (never syncs) -
--sync· full safe synchronization -
--report· regeneratereport.html -
--schedule install· install Windows scheduling -
--run manual· run the manual trigger
Repository ↗ · Issues ↗ · Releases ↗
v0.1.0 · MIT License · © 2026 Ganesh Bakkera