Compare commits

..

1 Commits

Author SHA1 Message Date
Alexander Whitestone
fb7633a9c4 fix: remove misspelled CONTRIBUTORING.md (duplicate of CONTRIBUTING.md)
Some checks failed
CI / test (pull_request) Failing after 10s
CI / validate (pull_request) Failing after 15s
Review Approval Gate / verify-review (pull_request) Failing after 3s
CONTRIBUTORING.md was a typo filename containing a redundant subset
of the branch protection policy already covered in CONTRIBUTING.md.
Removing the duplicate to reduce confusion.
2026-04-12 19:24:32 -04:00
2 changed files with 11 additions and 35 deletions

View File

@@ -1,30 +0,0 @@
# Contribution & Review Policy
## Branch Protection Rules
All repositories must enforce these rules on the `main` branch:
- ✅ Pull Request Required for Merge
- ✅ Minimum 1 Approved Review
- ✅ CI/CD Must Pass
- ✅ Dismiss Stale Approvals
- ✅ Block Force Pushes
- ✅ Block Deletion
## Review Requirements
All pull requests must:
1. Be reviewed by @perplexity (QA gate)
2. Be reviewed by @Timmy for hermes-agent
3. Get at least one additional reviewer based on code area
## CI Requirements
- hermes-agent: Must pass all CI checks
- the-nexus: CI required once runner is restored
- timmy-home & timmy-config: No CI enforcement
## Enforcement
These rules are enforced via Gitea branch protection settings. See your repo settings > Branches for details.
For code-specific ownership, see .gitea/Codowners

View File

@@ -586,8 +586,8 @@ def alert_on_failure(report: HealthReport, dry_run: bool = False) -> None:
logger.info("Created alert issue #%d", result["number"])
def run_once(args: argparse.Namespace) -> tuple:
"""Run one health check cycle. Returns (healthy, report)."""
def run_once(args: argparse.Namespace) -> bool:
"""Run one health check cycle. Returns True if healthy."""
report = run_health_checks(
ws_host=args.ws_host,
ws_port=args.ws_port,
@@ -615,7 +615,7 @@ def run_once(args: argparse.Namespace) -> tuple:
except Exception:
pass # never crash the watchdog over its own heartbeat
return report.overall_healthy, report
return report.overall_healthy
def main():
@@ -678,15 +678,21 @@ def main():
signal.signal(signal.SIGINT, _handle_sigterm)
while _running:
run_once(args) # (healthy, report) — not needed in watch mode
run_once(args)
for _ in range(args.interval):
if not _running:
break
time.sleep(1)
else:
healthy, report = run_once(args)
healthy = run_once(args)
if args.output_json:
report = run_health_checks(
ws_host=args.ws_host,
ws_port=args.ws_port,
heartbeat_path=Path(args.heartbeat_path),
stale_threshold=args.stale_threshold,
)
print(json.dumps({
"healthy": report.overall_healthy,
"timestamp": report.timestamp,