firgiawann commited on
Commit
7834d2e
·
verified ·
1 Parent(s): 2165636

Add version chip, update counter, changelog, and update-tracking skill guide

Browse files
Files changed (4) hide show
  1. CHANGELOG.md +7 -0
  2. README.md +10 -0
  3. app.py +22 -0
  4. skills/update-tracking/SKILL.md +16 -0
CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Changelog
2
+
3
+ ## Update ke-13 - 2026-04-15
4
+ - Tambah penanda versi kecil di UI: `Versi v0.9.0 | Minor Update ke-13`.
5
+ - Tambah build info di bagian bawah halaman untuk validasi versi saat demo.
6
+ - Tetapkan standar pelaporan update agar setiap respons menyertakan nomor update.
7
+ - Fitur utama sebelumnya tetap: label person bernomor, training live terminal, grafik training matplotlib, overwrite `best.pt`.
README.md CHANGED
@@ -59,6 +59,16 @@ Catatan:
59
  - `requirements.txt` - dependensi
60
  - `yolov8n.pt` - model default
61
  - `.gitignore` - aturan ignore
 
 
 
 
 
 
 
 
 
 
62
 
63
  Opsional environment variable:
64
  - `MODEL_PATH` - path model lokal custom
 
59
  - `requirements.txt` - dependensi
60
  - `yolov8n.pt` - model default
61
  - `.gitignore` - aturan ignore
62
+ - `CHANGELOG.md` - riwayat update (termasuk nomor update)
63
+ - `skills/update-tracking/SKILL.md` - panduan konsistensi versi & format update
64
+
65
+ ## Tracking Versi
66
+
67
+ - UI menampilkan versi kecil di bagian atas dan bawah halaman.
68
+ - Konfigurasi versi ada di `app.py`:
69
+ - `APP_VERSION`
70
+ - `APP_MINOR_UPDATE`
71
+ - Setiap perubahan sebaiknya menambah entri `CHANGELOG.md`.
72
 
73
  Opsional environment variable:
74
  - `MODEL_PATH` - path model lokal custom
app.py CHANGED
@@ -21,6 +21,8 @@ from ultralytics import YOLO
21
 
22
  CM_INIT = {"tp": 0, "fp": 0, "fn": 0, "tn": 0}
23
  EVAL_CLASSES = ["Sesuai", "Tidak Sesuai"]
 
 
24
 
25
 
26
  # Gradio/Spaces can trigger noisy asyncio cleanup traces ("Invalid file descriptor: -1")
@@ -968,6 +970,11 @@ CUSTOM_CSS = """
968
  .section-box {padding: 14px; border: 1px solid #d7dee8; border-radius: 10px; background: #ffffff;}
969
  .method-box {padding: 14px; border: 1px solid #c7d2e3; border-radius: 10px; background: #f8fbff;}
970
  .section-title {margin-bottom: 4px !important;}
 
 
 
 
 
971
  """
972
 
973
 
@@ -980,6 +987,13 @@ with gr.Blocks(title="Pengecekan dan Klasifikasi Mahasiswa - YOLOv8") as demo:
980
  </p>
981
  """
982
  )
 
 
 
 
 
 
 
983
 
984
  with gr.Column(elem_classes=["method-box"]):
985
  gr.Markdown(
@@ -1104,6 +1118,14 @@ with gr.Blocks(title="Pengecekan dan Klasifikasi Mahasiswa - YOLOv8") as demo:
1104
  outputs=[train_log, best_model_file, train_curve],
1105
  )
1106
 
 
 
 
 
 
 
 
 
1107
 
1108
  if __name__ == "__main__":
1109
  if _env_true("HF_AUTOSYNC_ENABLED", default=False):
 
21
 
22
  CM_INIT = {"tp": 0, "fp": 0, "fn": 0, "tn": 0}
23
  EVAL_CLASSES = ["Sesuai", "Tidak Sesuai"]
24
+ APP_VERSION = os.getenv("APP_VERSION", "v0.9.0")
25
+ APP_MINOR_UPDATE = os.getenv("APP_MINOR_UPDATE", "13")
26
 
27
 
28
  # Gradio/Spaces can trigger noisy asyncio cleanup traces ("Invalid file descriptor: -1")
 
970
  .section-box {padding: 14px; border: 1px solid #d7dee8; border-radius: 10px; background: #ffffff;}
971
  .method-box {padding: 14px; border: 1px solid #c7d2e3; border-radius: 10px; background: #f8fbff;}
972
  .section-title {margin-bottom: 4px !important;}
973
+ .version-chip {
974
+ display:inline-block; padding:4px 10px; border:1px solid #c7d2e3; border-radius:999px;
975
+ font-size:12px; color:#334155; background:#f8fbff; margin-top:4px;
976
+ }
977
+ .version-foot {font-size:12px; color:#64748b; text-align:center; margin-top:8px;}
978
  """
979
 
980
 
 
987
  </p>
988
  """
989
  )
990
+ gr.HTML(
991
+ f"""
992
+ <div style="text-align:center;">
993
+ <span class="version-chip">Versi {APP_VERSION} | Minor Update ke-{APP_MINOR_UPDATE}</span>
994
+ </div>
995
+ """
996
+ )
997
 
998
  with gr.Column(elem_classes=["method-box"]):
999
  gr.Markdown(
 
1118
  outputs=[train_log, best_model_file, train_curve],
1119
  )
1120
 
1121
+ gr.HTML(
1122
+ f"""
1123
+ <div class="version-foot">
1124
+ Build info: {APP_VERSION} (minor update ke-{APP_MINOR_UPDATE})
1125
+ </div>
1126
+ """
1127
+ )
1128
+
1129
 
1130
  if __name__ == "__main__":
1131
  if _env_true("HF_AUTOSYNC_ENABLED", default=False):
skills/update-tracking/SKILL.md ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SKILL: Update Tracking Consistency
2
+
3
+ Tujuan:
4
+ - Menjaga konsistensi nomor versi dan minor update di UI serta respons asisten.
5
+
6
+ Aturan:
7
+ 1. Setiap perubahan signifikan wajib menaikkan `APP_MINOR_UPDATE` di `app.py`.
8
+ 2. Jika perubahan besar, naikkan `APP_VERSION` (misal `v0.9.x -> v1.0.0`).
9
+ 3. Tambahkan entri baru di `CHANGELOG.md` dengan format `Update ke-<n> - YYYY-MM-DD`.
10
+ 4. Pada respons ke user, sertakan baris ringkas: `Update ke-<n>`.
11
+
12
+ Checklist cepat sebelum deploy:
13
+ - [ ] `APP_VERSION` dan `APP_MINOR_UPDATE` sinkron
14
+ - [ ] `CHANGELOG.md` ditambah
15
+ - [ ] UI menampilkan versi di header/footer
16
+ - [ ] deploy ke Space selesai