Skip to content

feat: update AI metric reports 2026-06 - #4

Merged
soonhyoung-an merged 1 commit into
deployfrom
feat/update-reports-2026-06-v2
Jul 1, 2026
Merged

feat: update AI metric reports 2026-06#4
soonhyoung-an merged 1 commit into
deployfrom
feat/update-reports-2026-06-v2

Conversation

@soonhyoung-an

Copy link
Copy Markdown

변경 내용

  • jira_report: Lead Time/Cycle Time 차트, 이슈 건수 추이 추가
  • pr_report: Merge Time 명칭 수정
  • tokscale_report: 월별 토큰 사용 추이 차트 추가

6월 전체 실적 기준 (보정 없이 실측치)

- jira: Lead Time/Cycle Time 추가, 이슈 건수 추이 차트
- pr: Merge Time 명칭 수정
- tokscale: 월별 토큰 사용 추이 차트 추가
@soonhyoung-an
soonhyoung-an merged commit 149154e into deploy Jul 1, 2026
t1000040 pushed a commit that referenced this pull request Jul 10, 2026
…unhoyeo#737)

* fix(antigravity-cli): date each turn by its per-generation timestamp

parse_antigravity_cli_file stamped every gen_metadata row with the single
session-created time from trajectory_metadata_blob.#2, and the module
doc-comment claimed the per-turn proto carries only relative timings. It
doesn't: each row carries an absolute {seconds, nanos} Timestamp at
chatModel.#9.#4, the same wire shape session_created_ms already decodes.

Without this, turns written into a conversation older than the live-tail
window are stamped in the past and dropped from the live trace, and long
conversations mis-bucket across midnight. Read chatModel.#9.#4 per row
(via a shared proto_timestamp_ms) and fall back to the session-created
time only when the field is absent or zero.

Added per_generation_timestamp_overrides_session_fallback, which fails
before the change.

* fix(antigravity-cli): guard proto_timestamp_ms against i64 overflow

A malformed protobuf can carry a Timestamp whose `seconds` varint is large
enough that `seconds * 1000` overflows i64. With overflow-checks on (debug
builds), the unchecked multiply panics instead of degrading to None, which
breaks the module's malformed-data contract (every other decode path returns
None on bad input). Switch to checked_mul/checked_add and return None on
overflow.

Regression test feeds a seconds varint of i64::MAX and asserts None without a
panic, checks the in-range boundary (i64::MAX/1000) still decodes, and keeps a
normal seconds+nanos stamp decoding to ms.

* fix(antigravity-cli): range-validate Timestamp nanos in proto_timestamp_ms

Reject `nanos` outside the protobuf Timestamp spec (0..=999_999_999),
including values large enough to be negative once cast to i64. An
out-of-range nanos now marks the whole stamp malformed (None) so the
caller's `ms > 0` filter and session-timestamp fallback take over instead
of producing a skewed per-turn time. Valid-input behavior is unchanged.

Confidence: high
Scope-risk: narrow

---------

Co-authored-by: Junho Yeo <i@junho.io>
@soonhyoung-an
soonhyoung-an deleted the feat/update-reports-2026-06-v2 branch July 16, 2026 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant