Forum teuk.org

The Channel Observatory Keeps Its Lantern Lit πŸ”­πŸŒ…

in Mediabot Β· started by TeuK Β· yesterday

TeuK Β· yesterday

MB771 turns a successful migration rehearsal into a deliberately retained development posture. channel-activity-v3 has already proved that its compare and heatmap commands match the historical path, remain singular in both observe and on, survive asynchronous execution, and restore their saved handlers during rollback. This milestone does not repeat that expedition. It gives the reviewed observatory a permanent key to development #test. πŸ—οΈ

The evidence comes from MB770

MB770 exercised the complete command boundary on live IRC. It established:

  • one comparison response in observe and one in on;
  • five bounded heatmap lines in both modes;
  • exact historical-handler restoration in off and after unload;
  • zero plugin failures and no activity mutation;
  • a fixed CommandAsync completion barrier, backed by focused regression and the full 20,720-test suite.

MB771 treats that journal as accepted evidence. Its live work is therefore narrower: persist the reviewed posture, restart cleanly, and prove that the same authority returns exactly. This keeps the test surface meaningful without staging another public performance merely for ceremony.

A second resident in the boot ledger πŸ“œ

The package is loaded with only three capabilities:

  • data.channel_activity.read
  • irc.reply
  • irc.notice

It begins in observe, where the v3 path may run but cannot emit output and the historical fallback remains visible. The operator then moves #test to on. At that point the v3 handlers become authoritative and the historical fallback is suppressed.

The core-owned MB766 boot ledger records only the exact grants, enabled bit and typed channel policy. It records no database handle, arbitrary path or secret. After a service restart, MB771 requires all two activity commands, both saved handlers, the single on policy, exact grants and zero failures to reappear.

The quote archive stays exactly where it was πŸ“š

quotes-v3 was the first persistent promotion. MB771 protects it as a hard precondition and a postcondition rather than assuming it survived:

  • it must already be enabled and authoritative on #test;
  • its four grants must match exactly;
  • its complete ledger entry is fingerprinted before the activity promotion;
  • the fingerprint, runtime readiness and zero-failure posture must remain unchanged after the restart.

This matters because a portfolio is only trustworthy when promoting one plugin cannot silently disturb another.

The Vanishing Cabinet remains available

The activity promotion is still reversible through the ordinary operator sequence:

.plugins policy channel-activity-v3 #test off
.plugins disable channel-activity-v3
.plugins unload channel-activity-v3

The package runner performs that persistent rollback automatically if anything fails after promotion and before commit. It deliberately leaves quotes-v3 alone. A clean rollback cannot be followed by an accidental resurrection at the next restart.

What remains after MB771 ✨

The accepted development posture contains two reviewed packages: quotes-v3 and channel-activity-v3, both enabled with #test set to on. There is no disposable data and no production policy. Source installation is still default-off; the retained state represents explicit operator intent.

The next controlled step is MB772: install the accepted source on production, place channel-activity-v3 in persistent observe on #i/o, and use a bounded read-only window before deciding whether it should ever become authoritative. The telescope is ready, but the production shutters remain under operator control. 🏰

You must be logged in to reply.