crewly 1.20.377 → 1.20.379

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/config/hooks/destructive-git-guard/guard.mjs +33 -4
  2. package/config/hooks/destructive-git-guard/local-gates.json +3 -2
  3. package/config/skills/agent/core/record-tl-verification/SKILL.md +39 -0
  4. package/config/skills/agent/core/record-tl-verification/execute.sh +71 -0
  5. package/config/skills/agent/core/record-tl-verification/execute.test.sh +56 -0
  6. package/dist/backend/backend/src/constants.d.ts +60 -0
  7. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  8. package/dist/backend/backend/src/constants.js +60 -0
  9. package/dist/backend/backend/src/constants.js.map +1 -1
  10. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts +17 -0
  11. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
  12. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +49 -0
  13. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
  14. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts +2 -0
  15. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts.map +1 -1
  16. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js +5 -1
  17. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js.map +1 -1
  18. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +3 -0
  20. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  21. package/dist/backend/backend/src/index.d.ts.map +1 -1
  22. package/dist/backend/backend/src/index.js +23 -0
  23. package/dist/backend/backend/src/index.js.map +1 -1
  24. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  26. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  27. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +22 -0
  28. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +64 -3
  30. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
  31. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.d.ts +59 -0
  32. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.d.ts.map +1 -0
  33. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.js +123 -0
  34. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.js.map +1 -0
  35. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts +173 -0
  36. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts.map +1 -0
  37. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js +263 -0
  38. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js.map +1 -0
  39. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts +35 -0
  40. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts.map +1 -0
  41. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js +47 -0
  42. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js.map +1 -0
  43. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +39 -0
  44. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +93 -2
  46. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +2 -0
  48. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -1
  50. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.d.ts +110 -0
  51. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.d.ts.map +1 -0
  52. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.js +243 -0
  53. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.js.map +1 -0
  54. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.d.ts +27 -0
  55. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.d.ts.map +1 -0
  56. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.js +45 -0
  57. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.js.map +1 -0
  58. package/dist/backend/build-info.json +2 -2
  59. package/dist/cli/backend/src/constants.d.ts +60 -0
  60. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  61. package/dist/cli/backend/src/constants.js +60 -0
  62. package/dist/cli/backend/src/constants.js.map +1 -1
  63. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  64. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  65. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  66. package/frontend/dist/assets/{index-b4db6abe.js → index-19c47468.js} +76 -76
  67. package/frontend/dist/index.html +1 -1
  68. package/package.json +1 -1
@@ -6021,6 +6021,45 @@ export const OWNER_RECEIPT_CONSTANTS = {
6021
6021
  OPTION_ON: 'Turn on nightly — this format',
6022
6022
  OPTION_PER_ASK: 'Keep per-ask format — every ask, one line each',
6023
6023
  },
6024
+ /**
6025
+ * The weekly "how often agents pulled the owner in" line (#1387, first
6026
+ * slice). Specs: specs/owner-pulls-weekly.md.
6027
+ */
6028
+ PULLS_WEEKLY: {
6029
+ /** Local weekday it goes out with the receipt (0 = Sunday) */
6030
+ REPORT_WEEKDAY: 0,
6031
+ /** The week counted: the 7 days before the report; compared with the 7 before that (ms) */
6032
+ WINDOW_MS: 7 * 24 * 60 * 60 * 1000,
6033
+ /** Teams named on the line before "+N more" */
6034
+ MAX_TEAMS: 3,
6035
+ /** Traces read for the owner-touch count (most recent first) */
6036
+ MAX_TRACES: 500,
6037
+ },
6038
+ /**
6039
+ * Daily spot-check of verified WorkItems (#1315, phase 1): re-check that the
6040
+ * file artifacts recorded as evidence still exist. Never changes a WorkItem.
6041
+ */
6042
+ VERIFIED_SPOT_CHECK: {
6043
+ /** WorkItems sampled per day */
6044
+ SAMPLE_SIZE: 5,
6045
+ /** Only items completed this recently are eligible (ms) */
6046
+ WINDOW_MS: 24 * 60 * 60 * 1000,
6047
+ /** Discrepancies named on the owner line before "+N more" */
6048
+ MAX_LISTED: 3,
6049
+ /**
6050
+ * Directory markers of agent worktrees the disk janitor removes after merge
6051
+ * (the segment after a marker is the worktree root). A missing file inside
6052
+ * a worktree that is gone is "worktree cleaned", not a discrepancy.
6053
+ */
6054
+ WORKTREE_MARKERS: ['.claude/worktrees', '.crewly/worktrees', 'crewly-worktrees'],
6055
+ },
6056
+ };
6057
+ /** How each pull kind reads on the owner's weekly line (#1387). */
6058
+ export const PULLS_WEEKLY_KIND_LABELS = {
6059
+ decision: 'decision needed',
6060
+ review: 'review or approval',
6061
+ fyi: 'FYI that did not need an answer',
6062
+ stuck: 'agent stuck or error',
6024
6063
  };
6025
6064
  /**
6026
6065
  * Hours a ticket waits in 待验收 with no objection before silence accepts it
@@ -8806,6 +8845,27 @@ export const TICKET_HYGIENE_CONSTANTS = {
8806
8845
  /** Entries in the per-ticket "already sent" memory are dropped after this long (days) */
8807
8846
  STATE_RETENTION_DAYS: 30,
8808
8847
  };
8848
+ /**
8849
+ * Routine nudge (crewly#1034): when a ticket is verified done and its result
8850
+ * describes recurring work, the verifying lead gets ONE internal WorkItem
8851
+ * telling it to set a routine or say why not. Never creates the cron itself.
8852
+ */
8853
+ export const TICKET_ROUTINE_NUDGE_CONSTANTS = {
8854
+ /** Kill switch: `0` turns the nudge off */
8855
+ ENV_SWITCH: 'CREWLY_TICKET_ROUTINE_NUDGE',
8856
+ /** `metadata.kind` of the nudge WorkItem */
8857
+ METADATA_KIND: 'ticket_routine_nudge',
8858
+ /** Prefix of the ticket Log line that marks the nudge as sent (also the dedupe key) */
8859
+ LOG_MARKER: 'routine nudge sent to',
8860
+ /** Actor written in the ticket Log */
8861
+ ACTOR: 'crewly-routine-nudge',
8862
+ /** Max characters of the result text scanned for a cadence */
8863
+ MAX_SCAN_CHARS: 6000,
8864
+ /** Max characters of the matched sentence quoted in the nudge */
8865
+ MAX_QUOTE_CHARS: 240,
8866
+ /** Max characters of the ticket title in the nudge */
8867
+ TITLE_MAX_CHARS: 120,
8868
+ };
8809
8869
  /**
8810
8870
  * Drive mode v3 status briefing (specs/2026-10-09-drive-mode-v3.md §1): the
8811
8871
  * compact per-team / per-agent snapshot this machine keeps up to date and