@meridiona/meridian-darwin-arm64 1.50.1 → 1.51.0

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.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 1.50.1
1
+ 1.51.0
package/bin/meridian CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meridiona/meridian-darwin-arm64",
3
- "version": "1.50.1",
3
+ "version": "1.51.0",
4
4
  "description": "Prebuilt Meridian app for macOS arm64 (daemon binary + dashboard + Python services). Installed via @meridiona/meridian.",
5
5
  "homepage": "https://github.com/Meridiona/meridian",
6
6
  "repository": {
@@ -816,7 +816,7 @@ case "$CMD" in
816
816
  uninstall) cmd_uninstall ;;
817
817
  permissions) cmd_permissions ;;
818
818
  version|--version|-v) cat "${REPO_ROOT}/VERSION" 2>/dev/null || echo "unknown" ;;
819
- worklog-status|pm-worklog|coding-agent-hook|coding-agent-summarise|coding-agent-classify|coding-agent-install-skill|oauth-login|tasks-sync) cmd_daemon_passthrough "$CMD" "$@" ;;
819
+ worklog-status|pm-worklog|coding-agent-hook|coding-agent-summarise|coding-agent-classify|coding-agent-install-skill|oauth-login|tasks-sync|ticket-update|ticket-parents) cmd_daemon_passthrough "$CMD" "$@" ;;
820
820
  --help|-h|help|"") cmd_help ;;
821
821
  *) err "unknown command: ${CMD}"; echo; cmd_help; exit 1 ;;
822
822
  esac
@@ -484,18 +484,34 @@ def _fetch_recent_sessions(
484
484
 
485
485
 
486
486
  def _fetch_pm_tasks(con: _sqlite3.Connection) -> list[dict[str, Any]]:
487
- rows = con.execute(
488
- "SELECT task_key, title,"
489
- " COALESCE(description_text,'') AS description_text,"
490
- " COALESCE(status_raw,'') AS status_raw,"
491
- " COALESCE(is_terminal,0) AS is_terminal,"
492
- " COALESCE(issue_type,'') AS issue_type,"
493
- " COALESCE(parent_key,'') AS parent_key,"
494
- " COALESCE(epic_title,'') AS epic_title,"
495
- " COALESCE(sprint_name,'') AS sprint_name,"
496
- " COALESCE(tags,'') AS tags"
497
- " FROM pm_tasks",
498
- ).fetchall()
487
+ # Candidate set for classification. Tickets the user explicitly EXCLUDED during
488
+ # onboarding board-cleanup (pm_task_curation.decision = 'excluded') are dropped
489
+ # so a cleaned-up dead ticket can never be a classification target. Everything
490
+ # else flows through, including not-yet-decided `looks_stale` rows — the triage
491
+ # only *proposes*; nothing is removed without the human's confirmed decision.
492
+ # LEFT JOIN keeps this safe if curation has no row for a ticket yet.
493
+ base_cols = (
494
+ "SELECT t.task_key, t.title,"
495
+ " COALESCE(t.description_text,'') AS description_text,"
496
+ " COALESCE(t.status_raw,'') AS status_raw,"
497
+ " COALESCE(t.is_terminal,0) AS is_terminal,"
498
+ " COALESCE(t.issue_type,'') AS issue_type,"
499
+ " COALESCE(t.parent_key,'') AS parent_key,"
500
+ " COALESCE(t.epic_title,'') AS epic_title,"
501
+ " COALESCE(t.sprint_name,'') AS sprint_name,"
502
+ " COALESCE(t.tags,'') AS tags"
503
+ " FROM pm_tasks t"
504
+ )
505
+ try:
506
+ rows = con.execute(
507
+ base_cols
508
+ + " LEFT JOIN pm_task_curation c ON c.task_key = t.task_key"
509
+ " WHERE c.decision IS NULL OR c.decision != 'excluded'",
510
+ ).fetchall()
511
+ except _sqlite3.OperationalError:
512
+ # Pre-migration-038 DB (no pm_task_curation): degrade to the unfiltered
513
+ # candidate set rather than crashing the whole /classify_sessions call.
514
+ rows = con.execute(base_cols).fetchall()
499
515
  return [dict(r) for r in rows]
500
516
 
501
517
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meridian-agents"
7
- version = "1.50.1"
7
+ version = "1.51.0"
8
8
  description = "Meridian agents — MLX classifier server and Jira worklog synthesis for meridian.db"
9
9
  requires-python = ">=3.11"
10
10
  authors = [{ name = "Meridiona" }]
package/ui.tar.gz CHANGED
Binary file