{"adoption": {"forks": 584, "observed_at": "2026-08-28T04:09:29.644705+00:00", "stars": 5791}, "canonical_url": "https://ross.abutalabs.com/products/survivesjtumanual", "card": {"archived": false, "artifact_type": "learning-resource", "description": "更新2008年版本的《上海交通大学生存手册》gitbook发布于https://survivesjtu.gitbook.io/survivesjtumanual/", "domain": ["education", "tutorials"], "enriched": true, "function": ["documentation"], "health_score": 85, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["SurviveSJTU/SurviveSJTUManual"], "name": "SurviveSJTU/SurviveSJTUManual", "platform": [], "pushed_at": "2026-04-21T03:33:52+00:00", "repo": "SurviveSJTU/SurviveSJTUManual", "stars": 5791, "tags": ["gitbook", "survival-manual", "university-guide", "chinese", "community-maintained", "web-server"], "topics": [], "urls": [], "use_cases": ["read advice on surviving and thriving at Shanghai Jiao Tong University", "learn how to choose a research advisor and do undergraduate research", "get guidance on applying to graduate schools abroad", "understand updated policies for staying in Shanghai after graduation", "find experience sharing on transferring majors or graduate admissions in China"], "what_it_is": "A community-maintained GitBook edition of the 'Shanghai Jiao Tong University Survival Manual', originally written in 2008 by SJTU undergraduates. The project updates and extends the guide with advice on studying, research, studying abroad, career choices, and campus life for SJTU students.", "when_to_avoid": ["you need official or authoritative university policy documents", "you are looking for software or a tool rather than a written guide", "you need advice specific to a different university"], "when_to_choose": ["you are an SJTU student or incoming freshman seeking practical campus and academic advice", "you want community-reviewed, continuously updated guidance on study abroad and research", "you want to contribute experiences via PRs to a living handbook"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/survivesjtumanual", "repo": "SurviveSJTU/SurviveSJTUManual", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:29.644705+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:52:48.461569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172fa1b1e4bc7c2b9d836c8cc295bf9dc0b6d0fa71bcb457ac108daf6766fe31", "fetched_at": "2026-08-28T04:09:29.644705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SurviveSJTU/SurviveSJTUManual"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 78, "longevity": 100, "rhythm": 48}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2335, "days_push": 134, "days_rel": 134, "gap_med": null, "n_releases_24m": 1}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}