-
Notifications
You must be signed in to change notification settings - Fork 46
Use frontmatter hash comparison for workflow timestamp checks with coarse granularity #13213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…mestamps Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
🔍 PR Triage ResultsCategory: chore | Risk: medium | Priority: 40/100 Scores Breakdown
📋 Recommended Action: batch_reviewThis PR improves the reliability of workflow outdated detection by using hash comparison for coarse timestamps. Should be reviewed with other workflow improvement PRs. Batch: Copilot chore improvements (Batch 2) Triaged by PR Triage Agent on 2026-02-02
|
|
@copilot you need to ha dle the case where the .md file is older than the lock.yml file. In that case , check if the frontmatter hashes are still the same (from lock file va recomputed). If matching, the lock file is still up to date. |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Added hash verification for the case when lock file is newer than the .md file. The code now computes and compares frontmatter hashes in all three cases:
If hashes don't match in any case, the workflow fails with appropriate error message. Commit: 49e575b |
🔧 Agent Container Tool CheckSmoke test results for PR #13213 development tools:
Result: 10/12 tools available Status: Core development tools (bash, git, jq, yq, curl, gh, node, python3, go) are all present and functional.
|
|
@copilot recompile |
Recompile completed successfully. All 148 workflow files were processed and no lock files needed updating - they are already up to date with the latest code changes. |
Agent Container Tool Check
Result: 10/12 tools available Missing Tools:
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed the logic. When lock file is newer than .md file, the check now always passes (lock was already recompiled). Hash verification is done for informational purposes only, but no failure occurs even if hashes differ. The failure only happens when .md is newer or when timestamps are equal with mismatched hashes. Commit: e22f7f8 |
|
🧪 Smoke Project is now testing project operations... |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
Agent Container Tool Check
Result: 10/12 tools available - FAIL Missing tools:
|
|
Test results: Draft ✅ | Field+New ✅ | Field Update ✅ | Issue Add ✅ | PR Add ✅ | Views ✅ | Status ✅ | URL Req ✅
|
|
✅ Smoke Project completed successfully. All project operations validated. |
Smoke Test Results
✅ PASS - §21581803544 cc @pelikhan
|
|
[WIP] Investigate fronmatter hash mismatch and add integration tests
|
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Smoke Test: Claude - Run 21581803563 ✅ GitHub MCP | ✅ Safe Inputs GH CLI | ✅ Serena MCP | ✅ Make Build | ✅ Playwright | ✅ Tavily Search | ✅ File Write | ✅ Bash Tool | ✅ Discussion Interaction Overall Status: PASS
|
Workflow timestamp checking fails to detect changes when the .md and .lock.yml files have identical commit timestamps but different SHAs. This occurs in batch commits where multiple files are modified simultaneously.
Changes
Detection logic for all timestamp scenarios:
workflowDate > lockDate: Source is newer - always requires recompilationworkflowDate === lockDatebut SHAs differ: Compute and compare frontmatter hashes to handle coarse timestamp granularity - fail if hashes differworkflowDate < lockDate: Lock is newer - always pass (lock was already recompiled). Hash verification is performed for informational purposes only and never causes failureRefactored hash comparison:
logFrontmatterHashComparison()→compareFrontmatterHashes(){ match, storedHash, recomputedHash }for decision-makingExample
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.